Skip to main content
Participant
April 5, 2021
Question

EXCELのシートをVBAを使用して、PDFのしおりに出来るプログラムはありますか?

  • April 5, 2021
  • 2 replies
  • 8424 views

Adobe Acrobat Pro DCについて、

エクセルのVBA機能を利用して、「Adobe PDFとして保存」をしたいのですが

サンプルコードみたいなものは無いでしょうか?

 「Adobe PDFとして保存」は、エクセルのVBAでは不可でしょうか?

 

もし、可の場合、ファイルの中にある2つのファイルを結合する

サンプルコードもあれば御教授頂きたくお願い致します。

 

もし、不可の場合、手動で「Adobe PDFとして保存」で対応する以外の方法は無いでしょうか?

This topic has been closed for replies.

2 replies

Ten A
Community Expert
Community Expert
April 6, 2021

Excel経由での操作となるとOLE経由での処理になりますが、資料はほとんどありませんので機能の確認自体がトライ&エラーで進めるしかないのが現状です。PDFの処理を考えるのであれば、Excelから一旦PDFを書き出した上でAcrobat上でJavaScriptまたはワークフローを利用したバッチ処理を通すのが楽なように思います。また、このJavaScriptで操作ができないようであればOLE経由でも操作が不可能なはずです。

-KOSUKE-Author
Participant
April 7, 2021

ありがとうございます。

 

資料がほとんどないとのこと、承知致しました。

Acrobat上でJavaScriptでの操作も検討致します。

 

Inspiring
April 12, 2021

PDFMakerAPIを使った、Excel VBAコードを記載しておきます。

 

Sub Exec_Click()

Dim pdfMakerApp As Object
Dim pdfConvertSetting As Object
Dim bitField As Long
Dim retVal

Set pdfMakerApp = CreateObject("PDFMakerAPI.PDFMakerApp")
Set pdfConvertSetting = CreateObject("PDFMakerAPI.ConversionSettings")

' デフォルト設定
pdfConvertSetting.LoadDefaultSettings
pdfConvertSetting.GetConversionParameters bitField

'しおりOFF
'bitField = bitField And (Not 2)
'しおりON
bitField = bitField Or 2

pdfConvertSetting.SetConversionParameters bitField

' PDF保存
retVal = pdfMakerApp.CreatePDF("C:\Work\Text.xlsx", "C:\Work\Test.pdf", pdfConvertSetting)

Set pdfConvertSetting = Nothing
Set pdfMakerApp = Nothing

End Sub

 

 

Ten A
Community Expert
Community Expert
April 5, 2021

こちらはExcelのサポートではありませんのでExcelのVBAの情報は無いです。
検索エンジンで「Excel VBA PDF保存」等のキーワードで検索すると沢山情報が引っかかって来ると思います。

-KOSUKE-Author
Participant
April 5, 2021

ありがとうございます。

 

通常のPDF保存方法のプログラミングは解決しています。

officeエクセル側では、恐らく上記同様な回答Adobe側でとなると思います。

 

しおり化するためには、「Adobe PDFとして保存」、

adobeの機能としてのPDFmakerとしての機能ですので、こちらに問合せさせて頂きました。

assause
Community Expert
Community Expert
April 5, 2021

Acrobatを利用する開発案件については公開されているSDKがすべてです。

https://helpx.adobe.com/jp/x-productkb/policy-pricing/5267.html

 

個々の開発にかかわるものは通常、ユーザーサポートで行われるものではありません。

また本コミュニティはサポートそのものではなく、ユーザー同士の情報交換の場になっています。