aardio 文档
aardio 范例: 已有 DOCX 的受控文字替换与表格填值;不启动 Office/WPS。
// 已有 DOCX 的受控文字替换与表格填值;不启动 Office/WPS。
import autos.skills.word;
import fsys.dlg;
var input=fsys.dlg.open("Word 文档|*.docx;*.docm;*.dotx;*.dotm|","打开待编辑文档");
if(!input)return;
var wd=autos.skills.word;
var ed,err=wd.editDocx(input);
if(!ed){print(err);return null,err;}
var paragraphs,err,warnings=ed.listParagraphs();
if(!paragraphs){ed.close();print(err);return null,err;}
for i,p in paragraphs print(i,p.text,p.editable,p.reason);
// 示例:把普通正文中的占位符替换为实际值。
var replaced,err,detail=ed.replaceText("{{客户}}","张三",{expectedCount=1});
if(replaced===null){ed.close();print(err);return null,err;}
// 示例:若第一个表格是普通未合并矩形表,填入一小块数据。
var table=ed.getTable(1);
if(table){
var written,err=ed.setTableCells(1,[["张三",0],[false,""]],{row=2;column=1});
if(written===null){ed.close();print(err);return null,err;}
}
var output=fsys.dlg.save("Word 文档|*.docx|","另存受控编辑结果",,,,"edited.docx");
if(!output){ed.close();return;}
var saved,err=ed.save(output,{overwrite=true});
ed.close();
if(!saved){print(err);return null,err;}
raw.explore(saved,"/select");
return saved,{replaced=replaced;detail=detail};
Markdown 格式