目次
Excelの内容をPDFで一発変換
こんにちは。伊川(@naonaoke)です。
今回は、Excelの内容をPDFに一発変換します。
このコードの内容は、実際に、私が業務で利用しているコードです。
本当に便利です。
PDFをVBAで作成する意味
最近は、PDFで、顧客に提供することが多くなっています。
電子化が進んでいる証拠です。
また、PDFを編集するソフトや、PDFにそのまま書き込めるソフトも発売されています。
教科書も電子化されますので、PDFは本当に重要ですね。
- VBAでPDFを自動作成
- ファイル名も自動作成
- 同一フォルダ内にPDFを保存
- PDFを作成するコード
- ユーザーフォームを作成
- Sheetを作成
- Sheetを削除
- 相対パス
今回はこの相対パスを、ぜひ、スキルにしてください。
このように、同一フォルダ内に作成されますので、ファイルを探す必要がありません。
Excelの内容をPDFに変換 作業手順 その1 ユーザーフォーム編
TextBox2が、Change(内容が変わったら)TextBox3に表示されるように設定しています。
私が実際に利用しているユーザーフォームには、年月日にカレンダーフォームを仕込んでいます。
そして、yyyy/mm/dd を、yyyymmddに変更されるようにしています。
できるだけ、ヒューマンエラーをなくするようにしています。
Excelの内容をPDFに変換 作業手順 その2 PDFに変換編
この画面を表示しないようにします。
Excelの内容をPDFに変換 作業手順 その3 相対パスの書き方
相対パスのメリット
同一フォルダ内であれば、フォルダ自体(この場合は、C:\Users\tekis\Desktop\No159)を、
パソコン内でどこに移動しても作動します。
例えば、実務であれば、急にネットワークディスクの名前が変更になったという事例がありました。
その日は、とてもパニックになりました。
但し、私は平気でした。
これは、その事を予想していたわけではなく、サンプルファイルを配布する際に、
このスキルが無ければ、ファイルの場所をユーザーに書き換えてもらわなければならないからです。
相対パスの指定の方法は、色々あります。
- ActiveWorkbook.Path & “\xxxx.accdb”
- CurrentProject.Path & “\”
- ThisWorkbook.Path & “\”
こんな相対パスの書き方があります。
Excelの内容をPDFに変換 作業手順 その4 PDF変換のコード
このコードはネットで探しました。
一応、逆引き辞典で、調べました。
逆引き辞典は、ネットのコードが正しいのか確認するときに利用するのが一番良いと思います。
Excelファイルと、PDFのファイルを作成します。
Excelの内容をPDFに変換 作業手順 その5 実際の利用
このファイルの利用方法です。
- 20200616_001.xlsxは、ダブルチェック用に利用しています。
- 20200616_001.pdfは、顧客に提出するものになります。
今回は、追加していませんが、PDF出力した瞬間に、操作しているExcelを自動で閉じるようにしています。
自動で閉じることによって、顧客情報の漏洩を防止するためです。
ここがポイント
色々、アイテムを持っていることで、業務は楽になります。今回は、PDFでしたが、Excelの内容を、Word、メモ帳、PowerPointにも転送、起動できます。しかし、何でも自動にするのも考え物です。
最終的には、人間が確認することが一番です。
まとめ
最近は、コーヒーが飲みたくなったら、VBAで命令すると、買ってきてくれるのではないか?
なんて思います。
なんでも自動はいけませんが、もう、そのような時代になっています。
自動、つまり、AIと、人間が行う仕事は、バランスが必要なんですね。
今回のサンプルファイルは、No159です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。