見出し画像

【マクロ入門#7】Excel VBAでの出力操作の基本:印刷・PDF出力

 このブログでは、エクセルのマクロについて、ゼロからコードを書くのではなく、すでに存在するコードを読み、理解し、そして自分の業務に応じて組み合わせる方法を学んでいきます。
 プログラミングの知識がなくても、コードの意味を読み取ることで、業務効率を劇的に向上させることができます。
 目標は、コードを書けるようになることではなく、必要なコードを見つけ、それを自分の目的に合わせて使いこなせるようになることです。
 日々の業務で役立つマクロの活用方法を、一緒に学んでいきましょう。


はじめに

 Excelのデータを印刷やPDF形式で出力することは、業務報告やアーカイブ作成において非常に一般的です。Excel VBAを使用すると、これらのプロセスを自動化し、手間を大幅に削減することができます。
 この記事では、Excel VBAを用いてシートの印刷設定とPDF出力を行う方法について解説します。
 また、<InputBox>による枚数指定やファイル名指定についても解説していきます。


InputBoxの活用

 <InputBox>はユーザーから情報を取得する簡単な方法であり、印刷枚数のようなパラメータを動的に受け取る際に便利です。この関数は、ユーザーが入力したテキストを文字列として返しますが、数値操作が必要な場合は適宜型変換を行う必要があります。

  • InputBoxの活用例:

Sub InputBox()

        ’InputBoxで名前の入力
    Dim userName As String
    userName = InputBox("あなたの名前を入力してください")

        ’メッセージボックスで表示
    MsgBox userName

End Sub

 この例では、ユーザーに名前を入力するよう求め、入力された名前をメッセージボックスを表示します。


印刷の自動化

 Excel VBAを使用すると、特定のシートやワークブック全体の印刷を自動化することが可能です。印刷の設定には、印刷範囲の指定や印刷オプションの設定などが含まれますが、今回は印刷のみを紹介します。

  • 印刷のVBAコード例:

Sub 印刷()
    
        ’PDFデータのファイル名の入力
        Dim 印刷枚数 As Long
    印刷枚数 = InputBox("印刷枚数")

    '"sheet1"を印刷
    Worksheets("Sheet1").PrintOut , , 印刷枚数

    '印刷実行メッセージ
        MsgBox 印刷枚数 & " 枚の印刷を実行します。"
    
End Sub

 このスクリプトは、<InputBox>で指定した枚数分「Sheet1」を印刷します。


PDF出力の自動化

 ExcelデータをPDF形式で出力することは、情報共有や保存に非常に便利です。VBAを用いると、特定の範囲やシートをPDFとして保存することが可能です。

  • PDF出力のVBAコード例:

Sub PDF出力()

        ’デスクトップパスの取得
    Dim DesktopPath As String
    DesktopPath = "C:\Users\" & Environ("USERNAME") & "\Desktop\"

        ’PDFデータのファイル名の入力
        Dim pdfName As String
    pdfName = InputBox("ファイル名")

    Dim pdfPath As String
    pdfPath = DesktopPath & pdfName

        ’PDFデータの出力
    Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName
 
End Sub

 このコードでは、<InputBox>でファイル名を指定した後、「Sheet1」をPDF形式でデスクトップに保存します。ExportAsFixedFormatメソッドを使用することで、高品質なPDFファイルを生成できます。


まとめ

【振り返り】
■ 情報の入力:InputBox
■ 印刷:PrintOut
■ 出力:ExportAsFixedFormat

 Excel VBAを活用することで、印刷やPDF出力のプロセスを簡単かつ効率的に自動化できます。これにより、時間の節約はもちろん、エラーの発生を減らし、業務の効率化を図ることが可能です。自動化スクリプトを適切に設定することで、日々の作業をよりスムーズに進めることができるでしょう。

 次回は、セルの操作について、範囲選択と動的参照について解説していきます。ぜひ、チェックしてみてください。

次回予告
・【マクロ入門#8】Excel VBAでのセル操作:範囲選択・動的参照

この記事が気に入ったらサポートをしてみませんか?