0

次のコードで

<?php
$test="C:/wamp/www/test.doc";
com_load_typelib('Word.Application');
$word = new COM("word.application");
$word->Documents->Open($test);
$word->Visible = 1;
$word->ActiveDocument->FormFields("Text1")->Result = "test";
$word->ActiveDocument->Close(false);
$word->Quit();
unset($word);
?>

次の問題が発生します ここに画像の説明を入力

7行目は $word->ActiveDocument->FormFields("Text1")->Result = "test"; 何が問題なの?

4

1 に答える 1

1

Windows 7 の wamp でも同じ問題がありました。最終的に、この php.net コメントで指定されたアクションを実行することで問題を解決しました (ただし、これらは IIS に役立つはずです): http://php.net/manual/en /class.com.php#90814

元のコメントが消えた場合に備えて、ここに主要部分をコピーします。

  • 「dcomcnfg」を実行
  • コンポーネント サービス > コンピューター > マイ コンピューター > DCOM 構成を開く
  • Microsoft Office Word 97-2003 Document を検索します (このようなものがあなたの言語に翻訳されているので、しばらく時間をかけて検索してください)
  • それを右クリックしてプロパティを開きます
  • 「アイデンティティ」タブを選択
  • 通常、これは「起動ユーザー」に設定されます。これを「対話ユーザー」または選択した管理ユーザーに変更する必要があります。
  • これらの新しい設定を適用して、COM アプリケーションをテストします。今はうまくいくはずです。
于 2013-05-23T14:51:16.953 に答える