ブライアンは、Excelの経験が豊富でない人が使用するワークブックを準備しています。彼は、おそらくボタンをクリックするだけで、簡単にPDFファイルに印刷できるようにする方法を望んでいます。彼は、Excelのバージョンや、人々が使用しているオペレーティングシステムを制御することはできませんが、このタイプの出力を実現する方法があるかどうか疑問に思っています。

ユーザーがWindows10を使用している場合、PDFへの印刷は比較的簡単です。Windows10には(ついに!)ネイティブPDFプリンタードライバーが含まれているためです。残念ながら、ブライアンは、ユーザーが使用しているオペレーティングシステムを制御できないことを示しています。つまり、ユーザーがWindows10で導入されたネイティブPDF出力機能を備えているとは想定できません。

幸い、Excelには(少なくともExcel 2007以降)PDFファイルにエクスポートする方法が含まれています。 [名前を付けて保存]を選択し(最も簡単な方法はF12キーを押すことです)、[ファイルの種類]ドロップダウンリストを使用して[PDF]を選択するだけです。出力は自動的にPDFファイルに保存されます。

シングルボタンアプローチを好む場合は、クイックアクセスツールバーにかなり難解なツールを追加するようにユーザーに指示できます。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010以降のバージョンでは、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。ダイアログボックスの左側で、[カスタマイズ](Excel 2007)または[クイックアクセスツールバー](Excel 2010以降のバージョン)をクリックします。 (図1を参照)

。 [コマンドの選択]ドロップダウンリストを使用して、[すべてのコマンド]を選択します。

。コマンドのリストで、[PDFまたはXPSとして公開]を選択します。

。 [追加]ボタンをクリックします。コマンドが画面の右側にコピーされます。

。 [OK]をクリックします。

この新しいツールをクリックすると、[名前を付けて保存]ダイアログボックスと非常によく似たダイアログボックスが表示されますが、PDFファイルとして「公開」するための設定がすべて正しい点が異なります。

同じ公開タスクを実行するマクロを作成することもできます。

作成されるPDFファイルに含まれるものを完全に制御したい場合は、マクロが適しています。

Sub ExportPDF()

Dim sFile As String

sFile = Application.DefaultFilePath & "\" & _       ActiveWorkbook.Name & ".pdf"



Sheets("Sheet1").Select     ActiveSheet.PageSetup.PrintArea = "D6:K57"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _       Filename:= sFile, Quality:=xlQualityStandard, _       IncludeDocProperties:=True, IgnorePrintAreas:=False, _       OpenAfterPublish:= True End Sub

マクロはファイル名をsFile変数にまとめます。必要に応じてこれを変更する必要があります。次に、マクロは、PDFファイルに含める必要のあるものの印刷領域を指定します。この場合、Sheet1の範囲D6:K57です。あなたは明らかにあなたが含めたいもののあなたのニーズを満たすためにこれを変更したいと思うでしょう。

マクロルートを使用する場合は、ワークブックにボタンを追加してマクロを実行し、ユーザーが必要なPDF出力を簡単に作成できるようにすることができます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13467)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。