プロが教える店舗&オフィスのセキュリティ対策術

Excel VBAを使用して、既存のPDFファイルをMicrosoft print to PDFの形式で出力(PDF作成)したいと考えています。また、出力後PDFのファイル名には「変換後_」をつけることで、基ファイルと区別できるようにしたいです。

環境は、OS:Windows10、Excel:Microsoft Office2010、インストールしているPDFソフト:Adobe Reader DCです。

下記記述を試してみたところエラーが出てしまいました。

FilePath=基PDFファイルのディレクトリパス
FileName=基PDFファイルの名前

CreateObject("Shell.application").ShellExecute FilePath & FileName
ActiveWindow.PrintOut ActivePrinter:="Microsoft Print to PDF", PrintToFile:=True, PrToFileName:=FilePath & "変換後_" & Replace(FileName, ".pdf", "") & ".pdf"

ちなみに、下記記述でExcelのシートをMicrosoft print to PDFでPDF変換することはできました。
ActiveSheet.PrintOut ActivePrinter:="Microsoft Print to PDF", PrintToFile:=True, PrToFileName:=FilePath & "変換後_" & Replace(FileName, ".pdf", "") & ".pdf"

ご存じの方がいらっしゃいましたら、ご教示いただけますでしょうか。
宜しくお願い致します。

質問者からの補足コメント

  • すいません、記述を変更したので無駄な記述をしているころがありました。
    (最初は”変換後”を拡張子の前につけようと思ってました)

    Replace(FileName, ".pdf", "") & ".pdf"
    →FileName

    です。

      補足日時:2018/11/30 17:47
  • そう思われますよね。そして、そういう需要がないから調べても出てこないのだとも思いました。
    フォントの問題で今のところ解決できる方法がこれしかなかったので。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/12/03 09:14

A 回答 (1件)

非常に素朴な疑問として、PDFをまたPDFで出力していったい何がしたいんでしょう?それによってはもっと別の良いやり方があるかも知れませんよ。

この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A