COM機能を使ってPHOでWord文書の内容を開いて読み込もうとしています。しかし、内容を読み込もうとすると、次のエラーが発生します。
致命的なエラー:キャッチされない例外'com_exception'とメッセージ'ソース: Microsoft Word
説明:開いているドキュメントがないため、このコマンドは使用できません。
私は次のコードを持っています:
$word = new \COM ( "word.application" ) or die ( "Could not initialise MS Word object." );
$word->Documents->Open ( realpath("test.doc" ) );
// Extract content.
$content = (string) $word->ActiveDocument->Content;
echo $content;
$word->ActiveDocument->Close(false);
$word->Quit();
$word = null;
unset($word);
Word文書が存在することを100%確信しています。私はこれを何度もチェックしました。ファイルの権限はに設定されていますFull Control
。だからそれもできません。
php.netのコメントも読んだ。IISが問題を引き起こしているとのことです(私はそれを実行しています)。彼の解決策はこれでした:
- 「dcomcnfg」を実行します
- [コンポーネントサービス]>[コンピューター]>[マイコンピューター]>[DCOM構成]を開きます
- Microsoft Office Word 97-2003ドキュメントを検索します(このようなものがあなたの言語に翻訳されるので、しばらくして検索してください)<-これで立ち往生し、「MicrosoftOffice...」と呼ばれるものが見つかりません。 「」
- それを右クリックして、プロパティを開きます
- 「ID」タブを選択します
- 通常、これは「起動ユーザー」に設定されます。これを「インタラクティブユーザー」または選択した管理者ユーザーに変更する必要があります。
- これらの新しい設定を適用して、COMアプリケーションをテストします。これで正常に動作するはずです。
とにかく、私はまだこれを機能させていません。誰でもこのエラーをどのように修正できるか考えています...???