終了

フォルダ内のPDFに対し同じ処理の繰り返し中のエラーについてacrobat standard 2020

Community Beginner ,
Apr 05, 2023 Apr 05, 2023

リンクをクリップボードにコピー

コピー完了

アクロバットアプリの機能を用いて以下のようなツールをExcel VBAにて作成しているのですが、特定のメソッドにてエラーが

発生し、原因も特定することができず困っております。

エラーの回避方法などございましたら、ご助言をいただけますと幸いです。

 

●環境

使用アプリ Adobe Acrobat Standard 2020

バージョン 2020.005.30441

参照設定:Adobe Acrobat  10.0 Type Library

Excelバージョン:2019

 

900個程度のPDFファイルがあり、全てのPDFファイルに対し、以下の処理を繰り返す仕様です。

AVDoc(AcroExch.AVDo)メンバのOpenメソッドにてPDFファイルを開く

GetISObjectメソッドでJavaScriptオブジェクトを作成する

JavaScriptオブジェクトをxmlで保存する

PDFファイルをAVDoc(AcroExch.AVDo)メンバのCloseメソッドにて閉じる

 

失敗するメソッドは実行によりまちまちで、①、②、④のメソッドのエラーは確認できております。

 

 

●エラー内容

実行時エラー        462:リモートサーバがないか、使用できる状態ではありません。

実行時エラー-2147023170:オートメーションエラーです。リモートプロシージャコールに失敗しました。

 

AVDoc(AcroExch.AVDo)メンバのOpenメソッド

①上記のメソッドを使用後は、AVDoc(AcroExch.AVDo)メンバのCloseメソッドを使用しないと、1回目開いたPDFを処理し続けるのですが、それは仕様でしょうか。

②連続で複数のファイルを処理する場合、Openメソッドで生成したオブジェクトは一度Closeで必ず閉じなければならない仕様なのでしょうか。

Openメソッドで開いたファイルはShowメソッドで表示した場合のみ画面表示されるのですが、こちらは仕様でしょうか。

 

 

AVDoc(AcroExch.AVDo)メンバのCloseメソッド

AVDoc(AcroExch.AVDo)メンバのOpenメソッドにて画面表示をせずオブジェクト生成のみ行った後、

上記のメソッドを使用した場合オブジェクトは破棄され、バックグラウンドプロセスで起動されていた

アクロバットアプリごと終了してしまい、次のOpenメソッドでエラーが発生してしまうのですが、それは仕様なのでしょうか。

AVDoc(AcroExch.AVDo)メンバのOpenメソッドにて画面表示を行った後上記のメソッドを使用した場合も

オブジェクトは破棄され、アクロバットアプリを全て終了してしまうことがあるのですが、それは仕様なのでしょうか。

③上記メソッドが他のメソッド実行中に割り込むことなどはございますでしょうか。

 

Closeのメソッド後、凡そ2~4秒後にアクロバットアプリごと終了しエラーになってしまいます。

 

 

こちらで原因として考えられるのが、以下になります。

①クローズのメソッドは実行されるまでタイムラグがあり、次のループの処理をしている間に前ループのクローズ処理が割り込み実行をし、

エラーを引き起こしている。

②クローズのメソッドが、アクロバットアプリを全て終了、オブジェクトの破棄をしてしまっている。

 

 

複数のPDFファイルを繰り返し処理する場合、どのように処理を行えば、上記のようなエラーは回避できますのでしょうか。

キーワード
PDF の編集と変換

表示

1.9K

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 2 件の正解

Community Expert , Apr 07, 2023 Apr 07, 2023

すみません、改めて確認したところ、Acrobat 2020でも「Adobe Acrobat 10.0 Type Library」と表示されるようです(間違ってたので前のコメントに取り消し線を入れました)。

(ということはAcrobat Xの頃から全く進歩してないんですね)

投票

翻訳

翻訳
ファン , Apr 07, 2023 Apr 07, 2023

AcrobatってOmachiさんも触れていますが、基本構造が古いんです…笑
>アクロバット関係の操作において
Interapplication Communication
主にWindowsからの利用を想定したOLE
MacOSからの利用出来るAppleEvent両方とも
アプリケーションとOS側の『やりとり』を仲介しているわけですが
この『やりとり』が、最近の小慣れたアプリケーション等に比べると
Acrobatバージョン10以前よりはマシになったとは言え
Acrobatはちょっと遅い感じがします(個人の見解です)…
365製品等と違いAdobeのAiやPDFは『フォント』の処理が絡むので
特に『書類の保存』に時間がかかる傾向が強いかなぁ(個人の見解です…笑)

私はMacな人なのでAppleEventですが
Acrobat的には『終わったよ』って言ってるけど
処理はまだおわってないなんて事があったりして…
(まぁ私の処理方法が悪いのもあるんでしょうけれども…)
AppleScriptだと普通に1秒まったりするもん…爆笑

例えば、AppleScriptでA4サイズ22kbの14ページのPDFを
openコマンドで開くと

...

投票

翻訳

翻訳
Community Expert ,
Apr 05, 2023 Apr 05, 2023

リンクをクリップボードにコピー

コピー完了

全然回答ではないです。ちょっと疑問に思ったので。

 

参照設定:Adobe Acrobat  10.0 Type Library

「Acrobat 10.0 Type Library」ということはAcrobat X付属のものを使用していることになります。ということはAcrobat Xを動作させようとしてしていることになりますので、インストールされていなければオートメーションエラーやリモートサーバーのエラーが出るのは当然ということになります。

Acrobat 2020用のタイプライブラリがインストールされているはずなので(私の環境にはないのでタイプライブラリ名が分かりません)そちらを参照設定するだけで解消されたりしないですかねえ。

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Apr 06, 2023 Apr 06, 2023

リンクをクリップボードにコピー

コピー完了

Open Closeについては仕様に記載があります
https://opensource.adobe.com/dc-acrobat-sdk-docs/library/interapp/IAC_API_OLE_Objects.html

私はMacな人なのでアレですが
エラーがマチマチなのは、処理がはやすぎて
保存やファイルのオープンがおっつないからでは?と思ったりして
ファイルのオープンを待たせる
とか
保存が終わるまで待つとか入れると良い『かも』です。

参考まで

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Apr 06, 2023 Apr 06, 2023

リンクをクリップボードにコピー

コピー完了

Quick Timer様

 

貴重なご知見をお寄せいただきありがとうございます。

また、記載先もご丁寧にご提示いただき、誠にありがとうございます。

 

ご助言いただいた通りにSleepの処理を入れたところ、当エラーの発生頻度は減少しました。

しかし500ms程度のWaitを入れておりますが、依然としてエラーが高頻度で発生いたします。

 

無知な質問で恐縮ですが、ご指摘いただいた「処理が早すぎるため保存やオープンが追い付かない」という現象は

アクロバット関係の操作においてよく発生するものなのでしょうか。

また、回避方法は待ち操作を入れる方法以外で何かございますでしょうか。

 

もし上記について何かご存知であれば、何かご教示いただけると大変幸いです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Apr 07, 2023 Apr 07, 2023

リンクをクリップボードにコピー

コピー完了

AcrobatってOmachiさんも触れていますが、基本構造が古いんです…笑
>アクロバット関係の操作において
Interapplication Communication
主にWindowsからの利用を想定したOLE
MacOSからの利用出来るAppleEvent両方とも
アプリケーションとOS側の『やりとり』を仲介しているわけですが
この『やりとり』が、最近の小慣れたアプリケーション等に比べると
Acrobatバージョン10以前よりはマシになったとは言え
Acrobatはちょっと遅い感じがします(個人の見解です)…
365製品等と違いAdobeのAiやPDFは『フォント』の処理が絡むので
特に『書類の保存』に時間がかかる傾向が強いかなぁ(個人の見解です…笑)

私はMacな人なのでAppleEventですが
Acrobat的には『終わったよ』って言ってるけど
処理はまだおわってないなんて事があったりして…
(まぁ私の処理方法が悪いのもあるんでしょうけれども…)
AppleScriptだと普通に1秒まったりするもん…爆笑

例えば、AppleScriptでA4サイズ22kbの14ページのPDFを
openコマンドで開くと
PDFは瞬時に開いてアプリケーション上には表示されるけれど
処理としては終わらずに、処理が終了を返すのに5秒ぐらいかかるので
次の処理はその間実行されずに、ただ待っている…苦笑

一方JavascriptAPIから同じファイルを
app.openDocでファイルを開くと
1秒かからずに処理が終わる…ので次の処理に行ける
こんなこともあるんですわ

>待ち操作を入れる方法以外
一般的には
元になるPDFはできるだけ『フォントの種類』を少なく とかなのかなぁ

私はMacな人でしてVB最後に触ったのWindows7時代なので…汗
アドバイス的なことはできないけど(無責任な感じになっちゃうしね…汗)
仕様をザーット斜め読みすると
https://opensource.adobe.com/dc-acrobat-sdk-docs/library/interapp/IAC_API_OLE_Objects.html#acroexch-...
先のOPENの値のところにも記載があったけど
再利用する値やオブジェクトは明示的に解放したり
使い終わったら0だったりnullだったり入れたりするのが
良いような…感じがする(根拠は無い…笑)なぁ

先に書いたように、『時間がかかっていそうな処理』だけ
JavascriptAPIに処理させる(可能なら)ってのもアリかもしれません。

参考まで

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Apr 11, 2023 Apr 11, 2023

リンクをクリップボードにコピー

コピー完了

以前に続き、貴重なご知見をお寄せいただきありがとうございます。

いただいたご意見を元にオブジェクトの開放に主軸を置き、更に検証を進めたところ、

Acrobatアプリ(オブジェクト?)の開放時に、完全にタスクマネージャーのプロセスから消えるまで待機させてから

アプリの再立ち上げを行うことで、エラーの発生が全く発生しなくなりました。

 

推測ではありますが、Quick Timer様の仰る通り、Acrobat(もしくはExcel VBA)によるアプリ(オブジェクト)の開放に時間を要しており、

そのアプリの開放とアプリの再立ち上げが衝突することでエラーの発生を招いていたと考えております。

 

拙く情報不足でエラー原因が特定できないような質問文にも関わらず、

問題の解決にご尽力をいただきまして、誠にありがとうございました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Apr 06, 2023 Apr 06, 2023

リンクをクリップボードにコピー

コピー完了

Omachi様

 

貴重なご知見をお寄せいただきありがとうございます。

無知な質問で恐縮ですが、タイプライブラリのバージョンに関しまして、Acrobat 2020以外にアクロバット製品のインストールなどは行っていないため、

恐らくAcrobat2020 に対応したタイプライブラリを参照していると思っていたのですが、

正しいタイプライブラリを参照しているかどうかを確認する方法は何かございますでしょうか。

もし上記について何かご存知であれば、何かご教示いただけると大変幸いです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Apr 07, 2023 Apr 07, 2023

リンクをクリップボードにコピー

コピー完了

すみません、改めて確認したところ、Acrobat 2020でも「Adobe Acrobat 10.0 Type Library」と表示されるようです(間違ってたので前のコメントに取り消し線を入れました)。

(ということはAcrobat Xの頃から全く進歩してないんですね)

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Apr 11, 2023 Apr 11, 2023

リンクをクリップボードにコピー

コピー完了

最新

Omachi

ご丁寧にご確認いただきありがとうございます。

私もAcrobat Xのサポート終了が2015年と認識していたため、

Acrobat 2020のライブラリもAcrobat Xの頃から全く進歩していないことに正直驚きを隠せません。

 

タイプライブラリの間違いが無い事が確認できたため、ご協力いただき誠に感謝申し上げます。

 

こちらのフォーラムでご助言をいただいた内容を元に、検証を重ねたところ、

エラーの発生が解消されました。

 

また、エラーの発生原因ですが、

推測ではありますが、Acrobat(もしくはExcel VBA)によるアプリ(オブジェクト)の開放に時間を要しており、

そのアプリの開放とアプリの再立ち上げが衝突することでエラーの発生を招いていたと考えております。

 

拙く情報不足でエラー原因が特定できないような質問文にも関わらず、

問題の解決にご尽力をいただきまして、誠にありがとうございました。

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Apr 06, 2023 Apr 06, 2023

リンクをクリップボードにコピー

コピー完了

Omachi様

 

貴重なご知見をお寄せいただきありがとうございます。

無知な質問で恐縮ですが、タイプライブラリのバージョンに関しまして、Acrobat 2020以外にアクロバット製品のインストールなどは行っていないため、

恐らくAcrobat2020 に対応したタイプライブラリを参照していると思っていたのですが、

正しいタイプライブラリを参照しているかどうかを確認する方法は何かございますでしょうか。

もし上記について何かご存知であれば、何かご教示いただけると大変幸いです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines