まず、
Sheet1~3まであるエクセルファイルがあるとします。
その中で「Sheet1」と「Sheet3」を、1つのPDFファイルとして出力したい場合、
下記サイトのマクロのコードを利用しました。
https://tonari-it.com/excel-vba-pdf-array/
(すでに保存ファイル名やArray関数の中身は置き換えてあります。)
Sub
1 2Dim fileName As String '保存先フォルダパス&ファイル名 3fileName = ThisWorkbook.Path & "\test01.pdf" 4 5Dim ws As Worksheet 6For Each ws In Worksheets(Array("Sheet1", "Sheet3")) 7 8 With ws.PageSetup 9 10 .Zoom = False 11 .FitToPagesWide = 1 12 .FitToPagesTall = 1 13 .CenterHorizontally = True 14 .TopMargin = Application.CentimetersToPoints(1) 15 .BottomMargin = Application.CentimetersToPoints(1) 16 17 End With 18 19Next ws 20 21Worksheets(Array("Sheet1", "Sheet3")).Select 22ActiveWorkbook.PrintPreview 23'ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName '選択したシートをPDF出力 24 25End Sub
####すると、
ActiveWorkbook.PrintPreview で、プレビュー画面はちゃんと表示されるので、
この行をコメント化して、次の行を実行できるようにすると
(下記のような状態にすると、、、)
Worksheets(Array("Sheet1", "Sheet3")).Select 'ActiveWorkbook.PrintPreview ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName '選択したシートをPDF出力
####Sheet1~3まで全部が出力されてしまいます。
このサイトで紹介されているコードが間違っているのでしょうか?
それとも私の入力や打ち間違いでしょうか?
原因のわかる方、いらっしゃればお力をかしてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/08 14:06