ACCESSレポートをPDFに出力VBA
ACCESSでレポートを作成して、下記のVBAで管理番号(ID)別にPDFファイルを保存し、ファイル名はIDに設定。
Private Sub コマンド56_Click()
‘年月IDチェック
If IsNull(Me![開始日付]) Then
MsgBox “「開始日付」を指定して下さい”
Exit Sub
End If
‘変数宣言
Dim DB1 As Database
Dim RS1 As Recordset
Dim PDF_File As String
‘OPEN
Set DB1 = CURRETDB
Set RS1 = DB1.OpenRecordset(“取引先登録”)
‘終わるまで繰り返し
Do Until RS1.EOF
‘取引先IDセット
Me![取引先ID] = RS1![取引先ID]
‘重複PDF削除
PDF_File = “D:\PDF\取引先明細書” & RS1![取引先ID] & “_” & Me![開始日付] & “.pdf”
If Dir(PDF_File) <> “” Then
Kill PDF_File
End If
‘PDF出力
DoCmd.OutputTo acOutputReport, “取引先_明細書”, “PDFFormat(*.pdf)”, PDF_File
DoEvents
Loop
‘CLOSE
RS1.Close
DB1.Close
End Sub
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
とするなら
ツールの参照設定:Microsoft Active Data Object x.x Library が必要
VBAからこのライブラリを利用できるように、参照設定を追加する必要があります。
VisualBasic画面の上部メニューのツール → 参照設定 の順で選択します。
「Microsft Office xx.x Object Library」 (xxはバージョン)にチェックを入れます。
フォームやクエリーもPDF出力できます
DoCmd.OutputTo acoutputquery,”クエリ1″,acFormatPDF,CurrentProject.Path & “\練習.pdf”,true
DoCmd.OutputTo acOutputform,”メイン”,acFormatPDF,CurrentProject.Path & “\練習.pdf”,true