QAxObject .docx设置某个表格左页边距 C++
时间: 2023-11-14 11:07:30 浏览: 62
可以使用以下代码设置Word文档中某个表格的左页边距:
```
QAxObject* document = new QAxObject("Word.Application");
QAxObject* documents = document->querySubObject("Documents");
QAxObject* doc = documents->querySubObject("Open(const QString&)", "your_document.docx");
QAxObject* tables = doc->querySubObject("Tables");
QAxObject* table = tables->querySubObject("Item(int)", 1); // 第一个表格
QAxObject* tableRange = table->querySubObject("Range");
QAxObject* tableBorders = tableRange->querySubObject("Borders");
// 设置左页边距为2厘米
QAxObject* tableLeftPadding = tableRange->querySubObject("ParagraphFormat")->querySubObject("LeftIndent");
tableLeftPadding->dynamicCall("SetLeftIndent(int)", 28.3464567 * 2);
// 保存修改并关闭Word
doc->dynamicCall("Save()");
doc->dynamicCall("Close()");
document->dynamicCall("Quit()");
```
这里的关键在于使用 `ParagraphFormat` 对象获取表格的段落格式,并使用 `SetLeftIndent` 方法设置左页边距。需要注意的是,这里的参数单位是磅,而不是厘米,所以需要将厘米转换为磅。1厘米等于28.3464567磅。
阅读全文