1

テンプレート ドキュメントで検索/置換メソッドを使用して、COM (コンポーネント オブジェクト モデル) で MS Word .docx ファイルを生成しています。

問題: 私の PC では正常に動作しますが、実稼働 PC では動作しません!! 両方のコンピューターで同じ構成を使用しています。

まず、$word = new COM('word.application'); echo "Loaded Word, version {$word->Version}\n";12.0 という COM オブジェクトをインスタンス化します。だから私はこれまでのところすべてが大丈夫だと推測します。$word->Documents->Open("c:\\test.docx");コマンドで何かがうまくいかない。括弧の間に入れたものはすべて通過しないようです。私が入れたのと同じ$word->Documents->Open(" ");

次の行: $word->Selection->Find->ClearFormatting();「オブジェクト以外のプロパティを取得しようとしています」というエラー メッセージが表示され、その後致命的なエラーが発生します。空の文字列が渡されDocuments->Open()、COM オブジェクトが破棄されているようです。

相対パス、絶対パス、バックスラッシュ、ダブルスラッシュを試してみましたが、それとは何の関係もないようです。同様に、コマンド$word->visible = 1;は言葉を持ち出しません。

両方の PC でほぼ同じ構成があります。 1 台目の PC: - win7 Ultimate、32 ビット、ms Word 7、同じ WAMP バージョン 2 台目の PC: - win7 Professional、32 ビット、ms Word 7、同じ WAMP バージョン

Documents.Open FileName:="test.docx" などのように、2 台目の PC でマクロを試しましたが、正常に動作しました。2台目のPCで何が違うのか、何が原因なのかわかりません。

4

0 に答える 0