Excel VBA(事例編)

【事例で学ぶExcel VBA #4】エクセルシートをPDFに出力・保存する

Excel VBA(事例編)

本コーナーでは、私が普段実務で手作業の自動化ツールを作成する中で実装している

処理の一部をピックアップし、掲載用にカスタマイズしたものをご紹介していきます。

全て私の実務ベースで使っているものなので、使いこなすことが出来れば、必ずや

手作業の自動化に一役買ってくれる内容ばかりと勝手に自負しています。

「本だけじゃなくてExcel VBAを実践的に勉強してみたい!」

「ハードル高くて苦手だったけどもう一度VBAを勉強してみたい!」

「実務で役に立つVBAを学びたい!」

そんな方々の学習意欲向上の一助になればと思い、このシリーズを

投稿しようと思いました。今回のテーマはこちらです👇

#4:エクセルシートをPDFに出力する

以前にご紹介した#2のマクロを応用して、今回はエクセルシートをPDF化して

ファイル保存するマクロをご紹介します。#2の詳細について知りたい方は是非

下記の記事もご覧下さい!

【事例で学ぶExcel VBA #2】縦型の簡易版スケジュール表を作成する
本コーナーでは、私が普段実務で手作業の自動化ツールを作成する中で実装している 処理の一部をピックアップし、掲載用にカスタマイズしたものをご紹介していきます。 全て私の実務ベースで使っているものなので、使いこなすことが出来れば、必ずや 手作業...
ツールの全体像

今回PDF保存するエクセルシートは既に#2で扱っているので、スケジュール表は

作成されている前提でマクロを実装しています。予めご了承くださいm(_ _)m

前回#2のツール構成を前提に説明を進めているため、#2の記事も予めご一読

いただいておくことをおススメいたします😊

本ツールのVBAコードは以下の通りです。

VBAコード ※パソコンでの閲覧推奨
Option Explicit
'===================================================
'ツール名:縦型の簡易版スケジュール表作成ツール(まえきんブログ掲載用にカスタマイズ)
'作成日:2022/03/19
'処理概要:縦型の簡易版スケジュール表のPDF出力・保存
'付属機能:なし
'作成者:まえきん
'===================================================
'===================================================
'関数名 :メイン関数(PDF出力・保存ボタン)
'処理内容:スケジュールシートのPDF出力・保存
'トリガー:PDF出力・保存ボタンを押下した際にコールされる
'引数  :なし
'戻り値 :なし
'===================================================
Private Sub CommandButton1_Click()
'----------
'変数宣言
'----------
Dim filePath As String 'PDF保存先パス格納変数
'----------
'PDF作成・保存処理
'----------
'対象のシートを選択する
Sheets(3).Select
'選択したシートをPDFで保存し、ビューアを開いてPDF表示
filePath = ActiveWorkbook.Path & "\縦型の簡易版スケジュール表.pdf"
Sheets(3).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=filePath, _
OpenAfterPublish:=True
'----------
'処理完了通知
'----------
MsgBox "PDFの作成・保存が完了しました!"
End Sub
VBAコード解説

PDF作成・保存処理

まず、PDF保存する対象のシートを選択します。今回は前回#2で作成した3つ目のシート

「202203」を対象とするため、「Sheets(3).Select」でシート選択をしておきます。

ここで以下、PDFファイル出力形式を順番に指定していきます。

指定する引数は調べていくと中々多いのですが、このうち必須なのはTypeのみです。

PDF出力する場合は、「Type:=xlTypePDF」の部分で定数xlTypePDFを指定します。

次に「Filename:=filePath」の部分でPDF保存する際のファイル名を指定、最後に

OpenAfterPublish:=True」の部分で保存完了後にPDFファイルを開くかどうか

を指定します。ちなみに、「ActiveWorkbook.Path」の部分で常にマクロブック

の階層を拾うように実装しているため、PDFの保存先もその同階層に保存

されることになります。

ツールの実行手順

①「PDF出力・保存」ボタンを押下する

実際にマクロを実行すると以下のような結果になります。

マクロ実行結果

処理完了通知 ※同時に保存したPDFが自動的に開かれる

PDF保存 ※マクロブックと同じ階層に保存されている

上記の通り、結果が得られましたでしょうか😊

PDFの保存作業も何気に手作業は面倒です。サクッとボタン一つでPDF出力して

保存まで自動化したい!!っていう時には、きっと一役買ってくれることでしょう。

今回はこれで以上です😊

最後まで読んで頂きありがとうございました!ではまた!

👆よろしければ、「いいね」よろしくお願い致します!
ブログ運営のモチベ上がります😄

ブログランキング・にほんブログ村へ
👆ブログランキングに参加しました!
よろしければ、応援よろしくお願い致します!
スポンサーリンク
\シェアする/
まえきんブログ

コメント