いつもお世話になります。
下記サイトを参考に、Excelでリストから差し込み印刷をすることはできたました(リストの名前を順に変更しながら印刷)。それを印刷ではなく、pdf化し、一つのファイルにまとめたいのですが、その作業でつまずいております。
https://mokomokomomoko.com/excel_macro_print/
.PrintOut Copies:=1, Collate:=True
部分をPrintToFile、PrToFileNameなど追加したりしてみたのですがうまくいかず……。
VBAは初めて触った状態で理解が乏しく申し訳ございません。
正しい方法をご教示いただけますと幸いです。
よろしくお願いいたします。
VBA
1Sub 印刷() 2 Dim LastRow As Long 3 Dim i As Long 4 Dim myNo As Long 5 6 If vbNo = MsgBox("印刷を開始していいですか?", vbYesNo) Then Exit Sub 7 8 With Worksheets("アカウントデータ") 9 LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 10 11 For i = 1 To LastRow 12 13 myNo = .Range("A" & i).Value 14 15 With Worksheets("印刷シート") 16 .Range("J4").Value = myNo 17 .PrintOut Copies:=1, Collate:=True 18 End With 19 Next i 20 End With 21 22 MsgBox "印刷が終わりました" 23 24End Sub 25 26ーーーーーーーーーーーーーー以下方法で解決しましたーーーーーーーーーー 27 28Sub 印刷() 29 Dim LastRow As Long 30 Dim i As Long 31 Dim myNo As Long 32 33 If vbNo = MsgBox("印刷を開始していいですか?", vbYesNo) Then Exit Sub 34 35 With Worksheets("アカウントデータ") 36 LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 37 38 For i = 1 To LastRow 39 40 myNo = .Range("A" & i).Value 41 42 Worksheets("印刷シート").Range("J4").Value = myNo 43 44 Dim fileName As String 45 fileName = "C:\Users\ユーザー名\sagyou\" & CStr(i) & ".pdf" 46 47 48 Worksheets("印刷シート").PageSetup.PrintArea = "A1:F30" 49 Worksheets("印刷シート").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName, IgnorePrintAreas:=False 50 51 Next i 52 End With 53 54 MsgBox "印刷が終わりました" 55 56End Sub 57 58 59

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/24 13:14
2018/05/24 13:24