703
社区成员
发帖
与我相关
我的任务
分享选中Word文档中第一个表格:
Variant vTable = vWordApp.OlePropertyGet("ActiveDocument").
OleFunction("Range").
OlePropertyGet("Tables").
OleFunction("Item", 1);
插入一个1*1的表格:
vWordApp.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables")
.OleProcedure("Add",
vWordApp.OlePropertyGet("Selection").OlePropertyGet("Range"),
1, // NumRows
1, // NumColumns
1, // DefaultTableBehavior:=wdWord9TableBehavior
0); // AutoFitBehavior:=wdAutoFitFixed
操作WORD中的表格:
插入一个10*10的表格,保存退出。用程序打开这个Word文档,当程序执行以后将从第2行,第3列开始,合并一个3*3的单元格。
#define wdLine 5
#define wdCharacter 1
#define wdExtend 1
Variant select = WordApp.OlePropertyGet("Selection");
// 移动到第3列
select.OleFunction("MoveRight", wdCharacter, 2);
// 移动到第2行,注意这里填1
select.OleFunction("MoveDown", wdLine, 1);
// 向右选择3例
select.OleFunction("MoveRight", wdCharacter, 3, wdExtend);
// 向下选择3行,注意这里填2
select.OleFunction("MoveDown", wdLine, 2, wdExtend);
// 执行合并
select.OlePropertyGet("Cells").OleProcedure("Merge");
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String strDocName = "C:\\ccrun\\123.doc";
Variant vWordApp, vDoc;
try
{
vWordApp = Variant::CreateObject("Word.Application");
}
catch(...)
{
MessageBox(Handle, "启动Word出错!",
Application->Title.c_str(), MB_OK | MB_ICONERROR);
vWordApp = Unassigned;
return;
}
vWordApp.OlePropertySet("Visible", true);
vWordApp.OlePropertyGet("Documents").
OleFunction("Open", strDocName.c_str());
Variant vFind = vWordApp.OlePropertyGet("Selection").OlePropertyGet("Find");
vFind.OleFunction("ClearFormatting");
vFind.OlePropertySet("Text", "ccrun"); // 要查找的文本
vFind.OlePropertyGet("Replacement").OlePropertySet("Text", "");
vFind.OlePropertySet("Forward", true);
vFind.OlePropertySet("Wrap", 1); // wdFindContinue
vFind.OlePropertySet("Format", false);
vFind.OlePropertySet("MatchCase", false);
vFind.OlePropertySet("MatchWholeWord", false);
vFind.OlePropertySet("MatchByte", true);
vFind.OlePropertySet("MatchWildcards", false);
vFind.OlePropertySet("MatchSoundsLike", false);
vFind.OlePropertySet("MatchAllWordForms", false);
vFind.OleFunction("Execute");
// 自己添加后续代码
}