GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

PDFファイルに自動出力するマクロの簡単な作り方を紹介

2019-02-22 10:29:12 | マクロ作成のコツ

自動印刷するマクロの作り方へ

-----------------------------------------------------------
今日おすすめのコンテンツ(過去のメルマガ配信)    
-----------------------------------------------------------

それでこれ、

今どきですからペーパーレスの奨励ということで、
請求書等の帳票類を出す際にも、いちいち昔ながらの

「紙に印刷して、お客様へ郵送する・・・」

なんて、非効率な事はやらないで

「PDFファイルに落して、メール添付で送る・・・」

という会社も多くなって来ているかと思いますが、

上記で紹介している「自動印刷マクロ」の場合でも、
帳票の出力先いうのは何も印刷(プリンター出力)に
限った話ではないですから、

ほんの一個所、プログラムの一部分をちょっと書き換えて
みるだけで、そのようなPDFファイルに落とす等の場合でも、
これは便利に使えるマクロに、簡単に応用ができます。

そうです、

いつものマクロの記録」を賢く

使えるようになればよいだけです。


例えばですが、

上記のページで紹介している「印刷プレビュー」に変えた
部分の1行を、以下のExcel操作にて「マクロの記録」を
やって記録したコードをコピッペして上書きする、という
だけです。


────────────────────────────+
1.まずは、マクロの記録を開始します。
 [開発]タブの[コード]で [マクロの記録]  をクリック→
「マクロの記録」画面が出るのでそのまま[OK] をクリック。

2.ここで、PDFファイルに保存する為の操作をします。
「ファイル」→「名前を付けて保存」→ 適当な保存場所を選んで
「ファイルの種類(T):」欄でプルダウンから「PDF(*.pdf)」
 を選択し、「ファイル名(N)」に 任意のファイル名 を入れて
「保存」ボタンを押す。

3.最後に、マクロの記録を終了します。
 [開発]タブの[コード]で [■記録終了] をクリックする。
────────────────────────────+


そうすると、上記の操作にて


++++++++++++++++++++++─
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\santa\Documents\Book1.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
++++++++++++++++++++++─


このようなプログラムのコードが自動的に書けますので、
ここで気にするべきは、この2段目にある

 "C:\Users\santa\Documents\Book1.pdf"

この、「保存先のフォルダとファイル名を示す部分」だけです。
その他は一切気にする必要はありません。

これは、先ほど「適当な保存場所」を選んで「任意のファイル名」
にてファイル保存をしましたから、上記の部分は全くの任意です
から、個々人で皆違ってきます。

その他の部分は(これは少々長くてややこしいプログラムに
なっていますから・・)気にする必要も、理解する必要性も、
全くありません!

決して、ネットで意味調べてみるなんて時間のムダだけは
しないでくださいね。(よっぽど暇で暇で仕方ないと言う人なら
よいですが、そもそも、そうした人はマクロ勉強して自動化する
必要がありませんから、時間の掛かる手作業で十分ですよね。笑)


それで、

皆さんが貴重な自分の勉強時間を費やすべきは、肝心な

 "C:\Users\santa\Documents\Book1.pdf"

ここの部分のコードの「書き直し方」だけです。


例えば、「ファイル名」をその「シート名」と同じにして
PDFファイルに落としたいという場合であれば、

 "C:\Users\santa\Documents\Book1.pdf"

 ↓

 "C:\Users\santa\Documents\" & ActiveSheet.Name

 (拡張子の.pdfの部分は省略可能です。)

と書き換えればよいだけです。

(但し、この様なコードの書き換えいうのは間違えやすい
ものですから、少々の慣れ(練習)は必要です。)


また、全てのシートをPDFに出す際に、「順番にシーケン
シャルな番号を振りたい」という場合であれば、

 "C:\Users\santa\Documents\Book1.pdf"

 ↓

 "C:\Users\santa\Documents\" & i

(単純に)だとすると、

この講座でも何度も勉強してきました「シート数でループを
回す方法」というのにこれを組み込んで、


++++++++++++++++++++++─
    For i = 1 To Sheets.Count
        Sheets(i).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ここ→      "C:\Users\santa\Documents\" & i, ・・・(以下省略)
    Next i
++++++++++++++++++++++─


とすればよいわけです。


あと、PDFファイルで保存する際には色々なオプション関係も
選べますから(発行後にファイルをいちいち開かない、とか)

その場合でも、上記以外のその他の部分は一切気にする必要は
ありませんから、できたコードに只


++++++++++++++++++++++─
Sub Macro3()
' 発行後にファイルをいちいち開かない場合
'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\santa\Documents\Book2.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub
++++++++++++++++++++++─


とだけコメントを書いておけば、それでよいだけです。
(「最後の True が False に変わってる!」なんていう事すら
考える必要性は全くありませんね。ラク!)


ということで、

「自動印刷マクロ」での印刷先(落し先)の部分の1行を、
ファイル保存の操作をファイル形式にFDFを選んで保存する
という操作を「マクロの記録」で記録して、できたコード
でコピッペして上書きすればいいだけ・・・。

こうしていくと、「自動印刷」のマクロが例えば、

 PDFファイル自動出力のマクロにも、
 PDFファイルをシート名で自動出力するマクロにも、
 PDFファイルを自動採番で自動出力するマクロにも、

はたまた、

 CSVファイルを自動出力するマクロにも、
 etc、
 etc、

と、色々なっていくわけです。

このように、いつもやっている「マクロの記録」を使って極
簡単に、単純に、応用発展していけるようになるわけですね。

この辺は、もう皆さんよろしいでしょうか?


あとは、自分で色々工夫をして試して作ってみるのみです。
このようなパターンを数多く、よく勉強してみてください。

何度も言うようですが、

「マクロ作りの勉強をする」とは、すなわち「応用力」です。
色々試して、自分自身の「応用力を養う!」あるのみです!!

 

 

■難しい専門用語なしでマクロの作り方がマスターできる公式テキスト

エクセル仕事の自動化が誰でもできる本(日経BP社)

 

 

 

 


コメント (1)    この記事についてブログを書く
« 素早いマクロ作りが身に付く方法 | トップ | 今どき、FAX使ってるのは日本... »
最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
Unknown (師子乃)
2019-02-22 12:34:44
初めまして。

マクロは手軽に作れて便利ですよね。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

マクロ作成のコツ」カテゴリの最新記事