我有一个代理,它使用MS Word OLE中的StoryRanges对象在Word模板中使用Lotus Notes中的字段进行查找和替换。我正在使用的代码示例如下:
If (FoundWordDoc = True) then
ForAll rngStory In objWordDoc.StoryRanges
rngStory.Find.Execute "{{createddate}}", False, True,,,,, 1,,Format$(doc.DocDate(0), "d mmmm yyyy"), 2,,,,
End Forall
模板现在比以前更复杂。我需要根据Lotus Notes中的一些文档填充表。行数取决于Notes中的记录数。一种方法是在表格中选择,以便Word管理其他行 - 但是我不想插入实际的选项卡。我想我会遍历一个数组以允许输入这些数据。
我已经使用了OLE从头开始创建Word文档但是我不知道如何从查找替换到实际插入或添加到word文档中的表。
我想到的另一个解决方案,但不确定如何做,是在文档中找到一个部分来创建一个锚点,然后从那里添加表格?
答案 0 :(得分:0)
创建具有多行(来自多个记录的IOW)的表的最有效方法是首先将数据连接为字符分隔格式作为String。例如
item1;item2;item3
item1;item2;item3
item1;item2;item3
每个记录由ANSI 13分隔(这是必须的,项目分隔符可以是您想要的任何内容)。
将其分配给Word.Range
RngStory.Text = strData
然后使用内置方法将其转换为表格:
ObjTable = RngStory.ConvertToTable(";")
该方法需要许多可选参数。您想要阅读它以决定您需要哪些。
如果您需要以任何方式格式化或使用结果表,请使用ObjTable(根据您可能需要声明的编程语言,首先 - 我不熟悉Lotusscript所以我可以&#39 ;包括那个。)