我正在尝试使用PHP和COM使用文档自己的书签操作提供的Word 2003文档中的某些字段,但是我收到的错误是我使用的任何方法。如果我尝试直接调用书签来替换文本,我会收到错误:无法删除范围。
function testBkMrkDetails($word, $bookmarkName, $subsTxt) {
try {
$BkMark = $word->ActiveDocument->Bookmarks($bookmarkName);
$range = $BkMark->Range;
if (!$range) {
echo "Range not created ";
}
$range->Text = $subsTxt;
} catch (Exception $e) {
echo "bookmark failed: " . $e->getMessage() . "\n";
}
}
我使用错误消息在Google上进行了搜索,并开始使用PHP和COM教程,这似乎表明我查看了FormFields,因此我编写了以下内容:
function testFormFlds ($word, $bookmarkName, $subsTxt) {
try {
$formField = $word->Selection->FormFields($bookmarkName);
if (!$formField) {
die("Form failed : " . $bookmarkName . " not found\n");
}
$formField->Result($subsTxt);
} catch (Exception $e){
echo "FormField failed: " . $e->getMessage();
}
}
然而,这一直告诉我所请求的集合成员不存在所以我假设我没有正确调用该字段名称(它来自文档)。我将非常感谢能够解决这个问题以及更多地了解基础技术。谢谢,伊恩