aardio吧 关注:642贴子:771
  • 2回复贴,共1

求助:怎样修改word文档内置属性

只看楼主收藏回复

大家好,我正在学习aardio,想写一段程序,用来修改word文档的内置属性,但是,试了各种代码,都不成功,请大家不吝赐教,谢谢。
假设在桌面上有一个“测试word.docx”,标题是“旧标题”,想改为“新标题”,

测试代码如下:
import console;
import com;
var wordCOM = com.CreateObject("word.Application");
wordCOM.Visible = true;
var word_doc = wordCOM.Documents.Open("C:\Users\Admin\Desktop\测试word.docx");
var tab = word_doc.BuiltinDocumentProperties("Title").getValue();//有效获取
//var tab = word_doc.BuiltinDocumentProperties("Title").Value();//有效获取
console.log("旧标题: " ,tab );
//word_doc.BuiltinDocumentProperties("Title").Value = "新标题"//无法赋值, 报错不支持集合
//word_doc.BuiltinDocumentProperties(1).setValue("1");//无法赋值,不支持集合
word_doc.BuiltinDocumentProperties("Title").setValue = "新标题";//无法赋值
var tab = word_doc.BuiltinDocumentProperties("Title").getValue();//有效获取
console.log("新标题: " ,tab );
word_doc.Saved = false;
word_doc.Save();
word_doc.close();
wordCOM.quit();
console.pause(true);


IP属地:辽宁1楼2021-01-10 20:38回复
    错误信息已经说明了你要改的不是值,而应该修改集合本身,
    先去看一下 VBA 是这样写:wordDocument.BuiltInDocumentProperties("Title") = "新标题"
    aardio 又或是其他编程语言里基本都不会写 修改集合函数( 键 ) = 新值
    所以你要改为: wordDocument.BuiltInDocumentProperties("Title","新标题")
    以后遇到这种问题,仔细看一下错误信息,查找相关资料,再多思考多动手试一下。
    Word 的资料不要到 aardio 里找,到网上去搜一下。


    IP属地:浙江3楼2021-01-11 11:09
    收起回复