3分で導入!エクセルシートを一瞬でPDF化するマクロ

相談者   私は今、Excelで請求書を作っています。最後にするPDF発行の作業は、簡単ではあるんですけど、何枚も作るとなってくると、結構めんどくさくって……。PDF発行の作業って、マクロで自動化できますよね?

(マクロについての詳細は「Excel VBAを使ってできること」をご覧ください。)

(請求書のテンプレートは「軽減税率・窓付長3封筒対応エクセル用請求書テンプレート」から無料でダウンロードできます。)

丸井   はい、もちろんできます。マクロを使えば一瞬です。

請求書フォルダ
たとえば、「請求書」フォルダ内の「請求書テンプレート」ファイルで請求書を作成するとします。
請求書テンプレート
必要事項を入力して、「PDF」ボタンをクリックすると……
請求書フォルダ2
……「請求書」フォルダ内に請求書のPDFファイルが一瞬で作成されます。しかも、発行日と請求書番号を組み合わせたファイル名が自動で付けられます。

相談者   あぁよかった。と言っても実は私、マクロのことは全然わかんないんですけど……。

丸井   大丈夫です。マクロ初心者でも簡単に導入できる方法をお教えしましょう。今からお教えする方法でマクロを導入すれば、コマンドボタンをクリックするだけで、請求書のPDFファイルを、そのExcelファイルが保存されている場所と同じ場所に、発行日と請求書番号を組み合わせたファイル名で、自動保存できるようになります。

相談者   おぉ、すばらしい。


ワークシートを一瞬でPDF化するマクロの簡単導入4ステップ


  1. コマンドボタンを設置する
  2. コマンドボタンのプロパティを設定する
  3. コマンドボタンのコードを記述する
  4. デザインモードをオフにする

ステップ1. コマンドボタンを設置する


コマンドボタンを設置する
好きな場所・使いやすい場所に、コマンドボタンを設置します。

[開発]タブ

[挿入]

[コマンドボタン(ActiveXコントロール)]

コマンドボタンを設置したい場所でドラッグをして、コマンドボタンを設置


ステップ2. コマンドボタンのプロパティを設定する


コマンドボタンのプロパティを設定する
コマンドボタンの「名称」「ボタン上に表示する文字」「ボタンを印刷するかしないか」を設定します。

設置したコマンドボタンを選択して右クリック

[プロパティ]

「プロパティ」ウインドウの[全体]タブ

(オブジェクト名)に「PDF」、
Captionに「PDF」、
PrintObjectに「False」、
を入力

「プロパティ」ウインドウ右上の[]


ステップ3. コマンドボタンのコードを記述する


コマンドボタンのコードを記述する
コマンドボタンがクリックされた時の動作を、「表示されているワークシートのPDFファイルを、請求書テンプレートファイルと同じ場所に、発行日と請求書番号を組み合わせたファイル名で保存する」と設定します。

設置したコマンドボタンを選択して右クリック

[コードの表示]

(「Microsoft Visual Basic」が起動します。)

「Microsoft Visual Basic」ウインドウの、「Private Sub PDF_Click()」と「End Sub」の間に次の文章を入力(コピペ)

赤字部分には発行日が入力されたセル番号を、青字部分には請求書番号が入力されたセル番号を入れてください。)

Dim MyName As String

MyName = ThisWorkbook.Path & _
“¥” & _
Format(Range(“F11“).Value, “yyyymmdd”) & _
“請求書#” & _
Range(“F10“).Value

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=MyName


ステップ4. デザインモードをオフにする


デザインモードをオフにする
デザインモードがオンのままだと、クリックしてもマクロを実行できないので、オフにします。

「Microsoft Excel」ウインドウを選択

[開発]タブ

[デザインモード](オフにする)


まとめ


丸井   以上です。これで、今後はいつでも好きな時に、今設置したコマンドボタンをクリックするだけで、請求書のPDFファイルを、そのExcelファイルが保存されている場所と同じ場所に、発行日と請求書番号を組み合わせたファイル名で、自動保存できるようになります。簡単導入4ステップを改めてお伝えしますと──

  1. コマンドボタンを設置する
  2. コマンドボタンのプロパティを設定する
  3. コマンドボタンのコードを記述する
  4. デザインモードをオフにする

相談者   いや〜、これ快感ですね。今までめんどくさかったのがウソみたいですよ。今日はありがとうございました。

丸井   こちらこそ、ありがとうございました。

参考文献:
『Excelの極意4 VBA』早坂清志著・毎日コミュニケーションズ
『できる逆引き Excel VBA を極める勝ちワザ700』国本温子・緑川吉行&できるシリーズ編集部著・インプレスジャパン


追伸


美しいデザインの四書(見積書・納品書・請求書・領収書)をすばやく作成・保存・集計・検索したいですか?

Dmaker:ディーメーカー(無料)をどうぞ >