Microsoft Print to PDF
Windows11、エクセル2019です。
エクセルシートをActivesheet.ExportAsFixedFormat Type:=xlTypePDFでPDFに変換するのではなく、Wimdows10以降に内蔵の仮想プリンター、Microsoft Print to PDFでPDFを作成したいのです。理由は細かい表の罫線を正しく表示したいからです。
以下でテストしてみて大丈夫だとは思うのですが、このVBAを記述したエクセルを使う人が大勢いるので、なかにはMicrosoft Print to PDFがプリンター設定にない方もいるのではと懸念します。
もしMicrosoft Print to PDFがプリンター設定にない方がこのコードを動かそうとしたら何か注意メッセージをだそうと思いますが、Microsoft Print to PDFの有無をPrintOutの前に取得する方法はないでしょうか?
Private Sub testPDF02()
Dim Sh As Worksheet
Set Sh = ActiveSheet
Dim orgPrinter As String
orgPrinter = Application.ActivePrinter
Debug.Print "印刷前のプリンタ:" & Application.ActivePrinter
Call Sh.PrintOut(ActivePrinter:="Microsoft Print to PDF")
Debug.Print "印刷直後のプリンタ:" & Application.ActivePrinter
Application.ActivePrinter = orgPrinter
Debug.Print "プリンタをもとに戻した:" & Application.ActivePrinter
End Sub
補足
グーグルの地図などを印刷しようとしています。 ファイルの種類はXXX.pdfとなっています。 PDFソフトは無料のものです。