手でやるちょっとした処理をマクロでやることもできます。
Excelの複数のシートを選択してPDFファイルで保存するということも、ちょっとしたことですがマクロでやっています。
Excelで作った資料はPDFファイルで送る
Excelで作った資料をPDFファイルにすることもあるでしょう。
わたしもお客さま用に作る資料づくりExcel、お渡しするのはPDFファイルでということは多いです。
ExcelファイルのままDropboxで共有したり、メールなどに添付して送るとなると、数式が崩れたり思わぬエラーに遭遇する可能性はあります。
見ていただく資料という位置づけであれば、作ったExcelファイルをそのまま使わなくても、PDFファイルにすれば足りますし、紙でやりとりする必要もありません。
ExcelファイルのシートをPDFファイルにする
Excelファイルにある複数のシートをPDFファイルとして保存するには、[F12]キーから[名前を付けて保存]画面を開き、[ファイルの種類(T):]で「PDF」を選択すれば、
PDFファイルとして保存できます(F12 → Tab → P の順番で押しても同様に保存できます)。
わたしはこの操作をクイックアクセスツールバーを使って、Alt + 8 ですぐにPDFファイルに保存できるようにしています。
もし、Excelファイルに複数のシートがあっても、選択したシートだけをPDFファイル1つにまとめることもできます。
このように、作ったExcelをPDFで保存するといっても、
・Excelからシートを選ぶ(全部か一部かを含めて)
・PDFに変換する
・PDFファイルに名前をつける
・保存場所を選ぶ
というような流れはあります。
Excelマクロと使ってPDFファイルとして保存するまでの流れ
前述の複数のシートを選ぶ→PDFファイルで保存する、という流れをマクロを使ってやることもできます。
このように書きます。
Sub PDF()
’シートを選択
Worksheets(Array(“サマリー”, “資金繰り”, “前期比較”)).Select
’選択したシートをPDFで保存
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & “\” & “sample”
’シートの選択を解除
Worksheets(“Sheet1”).Select
End Sub
まず、Excelにある複数のシートをArray関数を使って配列指定します。
「Worksheets(Array(“サマリー”, “資金繰り”, “前期比較”)).Select」の部分です。
“サマリー”のようにシート名を指定し、「Select」で選択しています。
そして、Arrayで選択したシートをPDFファイルとして保存します。
「ActiveSheet.ExportAsFixedFormat Type」、つまり選択しているシートの保存形式に「xlTypePDF」と書きPDFを指定します。
で、保存するためには保存先のパスとファイル名が必要で、「Filename:=ActiveWorkbook.Path & “\” & “sample”」と書きます。
パスについては、このブログでまとめています。
今回はExcelファイルを保存している同じフォルダに、ファイル名:sampleとして保存したいので、「ActiveWorkbook.Path」でExcelと同じ保存先を指定し、ファイル名を”sample”と書いています。
最後は、シートの選択を解除したいので、「Worksheets(“Sheet1”).Select」で別シートを選ぶということをやっています(今回は別シートを「sheet1」としています)。
ちなみに、「\」の記号は、キーボードの「¥」です。Backspaceキーの隣にあるので、これを入力しましょう。
それと、「PDF,」の次にあるアンダーバー「 _」は、改行したいときに使います。
半角スペースのあとにアンダーバーです。半角スペースが無いとエラーになるので忘れないようにしましょう。
わたしはPDFファイルの保存先をDropboxのInboxというフォルダに指定しておきたいので、Filename以下を次のように書いています。
このように書いています。
Sub PDF()
’シートを選択
Worksheets(Array(“サマリー”, “資金繰り”, “前期比較”)).Select
’選択したシートをPDFで保存
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
”C:\sou\Dropbox\00_Inbox” & “\” & “sample” & “.pdf”
’シートの選択を解除
Worksheets(“Sheet1”).Select
End Sub
Filenameの次にあるアンダーバー「 _」も前述と同じように改行の意味です。
保存先のパスは、(Windowsの場合)エクスプローラーから保存したいフォルダでCtrl + Shift + C(右クリックでも大丈夫です)し、
パスをコピーできますので、貼り付けましょう。
ちょっとした操作でも、それが何度も繰り返す処理のちょっとした1コマというのであれば、自動化してみるのも手です。
今回のPDFのように、ちょっとしたことの方がマクロを試しやすいメリットもあります。
■編集後記
昨日は朝タスクなどの習慣のあとは、読書やとある基礎研究を。
息子(9)のYoutubeチャンネルで久しぶりの動画作成。ランチは久しぶりにバーガーキングのワッパーでした。
■息子(9歳)
「ニュースをはなすのをやってみたい」ということで、久しぶりに息子のYoutubeチャンネルを更新。ニュースっぽく映るようにOBS Studioを設定して、サムネイルもニュース番組っぽくして作ってみました。ばあばに見てもらうためにURLもLINEで。
パパも動画を見ようとしましたが「もういいからっ!」と。動画を作ったことで満足したらしく、そのあとのことは興味がないようです。まぁ、そんなもんです。
■昨日の1日1新
・とあること
・RPでマニュアル露出撮影