LoginSignup
2
2

More than 3 years have passed since last update.

VBAでPDF化する方法

Posted at

VBAを使用すると、一瞬でPDF化することが出来ます。
下記にコードを記載します。

Sub PDF化()

Dim fileName As String
Dim name As Variant

name = Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5)

fileName = ThisWorkbook.Path & "\pdf\" & name & ".pdf"

Worksheets("見積書").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName

End Sub

詳細を説明していきます。

Dim fileName As String
Dim name As Variant

まずは、PDFを格納先パスを含むファイル名(fileName)とファイルの名前のみ(name)を格納する変数を作ります。

name = Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5)

次に、Left関数で先頭から指定した文字数のところまでの文字列を取得します。
第一引数で対象ファイルのファイル名を取得し、第二引数で何文字まで取得するのか指定しています。

Len(ActiveWorkbook.name) - 5

第二引数の上記で、ファイル名末尾の「.xlsm」を除いています。

fileName = ThisWorkbook.Path & "\pdf\" & name & ".pdf"

「ThisWorkbook.Path」で、対象のエクセルファイルの格納先パスを取得しています。
「"\pdf\"」でPDFを格納する場所を指定しています。
こちらを変更することで、好きな場所に格納することができます。
&を使い、格納先ファイルパスとファイル名を連結し、最後に.pdfとします。

Worksheets("見積書").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName

PDFで出力するためには、ExportAsFixedFormatメソッドを使用します。
TypeはxlTypePDF、fileNameには、格納パスを含めたfileNameとします。

以上、VBAでPDF化する方法です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2