Skip to main content
Participant
January 24, 2020
Question

Office VBAからPDFを操作する際に、Adobe Java Scritptの動作を止めたいです

Access(Excelでも同じ状況です)のVBAから、PDFに値を設定して保存しています。
Acrobat 7.0では問題なく動いていましたが、Acrobat 2017に変えたところ、値の取得はできますが、値の設定ができなくなりました。
いろいろ動作を試した結果、当該PDF内に設定されているAdobe Java Scriptが影響していることまでは分かりました。
ただ、このPDFは作成済みのものを提供されていて、こちらでAdobe Java Scriptの削除などの変更はできません。
そこで、VBAから処理する際に、一時的にAdobe Java Scriptの動作を止めることができたら、値の設定ができるかもしれないと思っています。

そもそもVBAで「Adobe Java Scriptを動作させない」とすることはできますでしょうか。

もし方法等ご存知の方がいらっしゃいましたら、教えて頂きたいです。

よろしくお願い致します。

This topic is closed to new replies. Start a new post to keep the conversation going.

2 replies

Omachi
Legend
January 24, 2020

Acrobat 7.0だと2005年5月の発売ですからWindows XPのセキュリティがガバガバだった時代のものですね。

Acrobatはその後にサンドボックス機能が付いたりして、もう、なかなか自由にコントロールさせてくれないのではないでしょうか。

それはそうと、「Adobe Java Scriptが影響している」とはどのように判断されたのでしょうか。もし、Acrobatの環境設定で、「Acrobat JavaScriptを使用」のチェックを外してうまくいったのであれば、Acrobat側でそのような設定にしておけば済むはずですが。

この項目はVBAから直接操作はできないようです。

(ちなみに「Acrobat JavaScriptを使用」のチェック項目はレジストリに登録されているので、そこを変更することでも可能です)

Translate
M.EndoAuthor
Participant
January 24, 2020

Omachi 様

ご返信、誠にありがとうございました。

「Adobe Java Scriptの削除などの変更はできません」と書きましたが、正確には変更してしまうと利用できなくなるのですが、調査のためにPDF内のAdobe Java Scriptを削除した状態で試すと値が設定できたため、そのように判断致しました。

(詳しい方に教えた頂いたのですが)

「Acrobat JavaScriptを使用」のチェックを外したいのですが、VBAで値を設定したPDFに対して手作業で追加の編集を行うのですが、その際にはPDFにあるAcrobat JavaScriptの処理が必要になります。また、他のファイルでもAcrobat JavaScriptを利用しておりまして。

そのため、VBAで処理するタイミングの時だけ止めれたらと思いました。

レジストリで変更できると教えて頂いたので、処理としては微妙ではありますがON・OFFのScriptを作って、切り替えるのという方法も考えられるかもしれません。試してみたいと思います。

大変参考になるご意見、ありがとうございました。

Translate