![見出し画像](https://assets.st-note.com/production/uploads/images/53671524/rectangle_large_type_2_9553a1118c99b4126f5a8e2c6e335680.jpg?width=800)
エクセルで作るブックレット(VBA)②中央揃えPDF出力編
前回①の「画像取り込み・面付け編」に引き続き、今回の②では、①で作成したページを「センタリングしてPDFへ出力する」というマクロがとても便利で威力を発揮したのでご紹介します。
センタリング、印刷プレビュー&PDF速攻出力はマクロにおまかせ!
下記ソースをマクロに登録すると、ページ設定からPDF出力までの流れがだいぶ楽になりました。ページレイアウトでいちいち余白を設定しなくてもセンタリングになってくれるのは嬉しいですね。
早速、以下のマクロを登録しましょう。
1)センタリングして、印刷プレビューを実行するマクロ
Sub 印刷プレビュー()
With ActiveSheet.PageSetup
.CenterHorizontally = True '水平方向で中央寄せ
.CenterVertically = True '垂直方向で中央寄せ
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
ActiveSheet.PrintPreview
End Sub
2)「表面」sheetを「表面.pdf」というファイル名で出力するマクロ
Sub 表面sheetをPDF保存()
'表面という名のsheetをセンタリングし、表面.PDFというファイル名で出力保存
Dim i As Long
For i = 1 To Sheets.Count 'すべてのシートをループ
'シート名で条件分岐
If Sheets(i).Name = "表面" Then
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
fileName:=ActiveWorkbook.Path & "\" & Sheets(i).Name & ".pdf"
Exit Sub
End If
Next i
With ActiveSheet.PageSetup
.CenterHorizontally = True '水平方向で中央寄せ
.CenterVertically = True '垂直方向で中央寄せ
.Zoom = False '拡大・縮小率を指定しない
.FitToPagesTall = 1 '縦方向1ページで印刷
.FitToPagesWide = 1 '横方向1ページで印刷
End With
End Sub
3)「裏面」sheetを「裏面.pdf」というファイル名で出力するマクロ
Sub 裏面sheetをPDF保存()
'裏面という名のsheetをセンタリングし、裏面.PDFというファイル名で出力保存
Dim i As Long
For i = 1 To Sheets.Count 'すべてのシートをループ
'シート名で条件分岐
If Sheets(i).Name = "裏面" Then
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
fileName:=ActiveWorkbook.Path & "\" & Sheets(i).Name & ".pdf"
Exit Sub
End If
Next i
With ActiveSheet.PageSetup
.CenterHorizontally = True '水平方向で中央寄せ
.CenterVertically = True '垂直方向で中央寄せ
.Zoom = False '拡大・縮小率を指定しない
.FitToPagesTall = 1 '縦方向1ページで印刷
.FitToPagesWide = 1 '横方向1ページで印刷
End With
End Sub
注)Sheet1は「表面」、Sheet2は「裏面」というように、予めSheet名は変更しておいてください
出力したいセルを選択しよう
このプログラムは、歌詞カードだけでなく、フォトブックなどアイデア次第で色々作れるので、以下、フォトブックのスクショを使って解説します📷✨
![画像5](https://assets.st-note.com/production/uploads/images/53677257/picture_pc_88924378a6588d1a6050f380c9247783.jpg?width=800)
![画像3](https://assets.st-note.com/production/uploads/images/53676135/picture_pc_57ae0aa5dc40ba5e192bbe720a540236.jpg?width=800)
上記の画像非表示スクショは、デザイン画像に合わせてセルを黒に塗りつぶしているため、画像が非表示になって真っ黒セルだけが表示されています。こうすると画像がズレることなく、セルを範囲選択しやすいです。
歌詞カードサイズにする場合、B4版1ページに2列&3行の計6枚まで選択できます。
そして「ページレイアウト」→「印刷範囲」→「印刷範囲の設定」を選択します。
![印刷設定](https://assets.st-note.com/production/uploads/images/53674522/picture_pc_cf4fa15aa726c8e96480d6854175755e.jpg)
早速、マクロを使って印刷プレビュー!
冒頭のマクロを実行します。
![マクロ](https://assets.st-note.com/production/uploads/images/53799977/picture_pc_780517302d6dfd228b1b30ae462af03a.jpg?width=800)
![印刷プレビュー](https://assets.st-note.com/production/uploads/images/54071524/picture_pc_e1599c9f9e6414950f829627029b761e.jpg?width=800)
画像を6枚選択した場合、以下のようなプレビュー画面になります。
![プレビュー](https://assets.st-note.com/production/uploads/images/54071672/picture_pc_02197a532805ef690f9032121220975e.jpg?width=800)
レイアウトに問題がなければ、このままPDFファイルに出力します。
PDFでファイル保存
![実行](https://assets.st-note.com/production/uploads/images/53676828/picture_pc_d2d57fa6ae021e07d6855ee4722cd83c.jpg?width=800)
『表面sheetをPDF保存』を選択して実行すると、編集しているエクセルファイルと同じ階層に「表面.pdf」が保存されます。
![画像5](https://assets.st-note.com/production/uploads/images/53677653/picture_pc_78f63589e6e1056598362148a8faf55e.jpg?width=800)
「表面.pdf」が同場所にある場合は、上書きされるので注意しましょう!
同様に「裏面」もセル選択し、『裏面sheetをPDF保存』マクロを実行して「裏面.pdf」を出力します。
![画像7](https://assets.st-note.com/production/uploads/images/53801270/picture_pc_d51a15ce76cc8791f51284c317a3db7b.jpg?width=800)
自分でデザインした画像がこうして並ぶと嬉しいですね😁
私が行ったセブン、ファミマでは、PDFファイルでの両面印刷ができませんでした。ですので、コンビニで両面印刷する場合には、pdfをjpgファイルに変換してプリントしてくださいね☘📖☘
コンビニの両面プリントは、微妙に表裏がズレるので、画像は左右に余裕を残してデザインすることをオススメします。特に歌詞カードなどは、文字が切れないよう注意が必要。ページ数が多くなると紙が幾重にも重なり、表紙よりも中の頁が飛び出してスーツの袖からYシャツが見えているような状態になります。スーツならお洒落なんですが、歌詞カードだとお洒落じゃないので(汗)、ページ数が多い場合は、レイアウトを工夫してみてください。
カラープリントする前に、白黒プリントして各ページのレイアウトや文字をチェックするのは、必須作業👀 面倒でも手間をかけた作品は、完成した時に満足度が違います(*´ェ`*)b
レイアウト等に問題がないことを確認したら、カラープリントへいよいよGO!
#駆け出しエンジニアのオリジナル歌詞カードプログラム奮戦記。試行錯誤しながら続きます💨
この記事が気に入ったらサポートをしてみませんか?