我正在尝试使用 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);
我 100% 确定 Word 文档存在。我已经检查过很多次了。该文件的权限设置为Full Control
. 所以也不能这样。
我还阅读了关于 php.net 的评论。它说 IIS 引起了问题(我正在运行)。他的解决方案是这样的:
- 执行“dcomcnfg”
- 打开组件服务 > 计算机 > 我的电脑 > DCOM 配置
- 搜索 Microsoft Office Word 97-2003 文档(它会像这样翻译成您的语言,所以花点时间搜索一下)<-- 卡在这个文档上,找不到任何名为“Microsoft Office... "
- 右键单击它并打开属性
- 选择“身份”选项卡
- 通常这被设置为“启动用户”。您必须将其更改为“交互式用户”或您选择的管理员用户。
- 应用这些新设置并测试您的 COM 应用程序。它现在应该可以正常工作了。
无论如何,我还没有得到这个工作。任何人都知道如何解决这个错误......???