Lotus Notes OLE Word

时间:2018-04-11 05:28:04

标签: ms-word lotus-notes ole lotusscript lotus

我有一个代理,它使用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文档中的表。​​

我想到的另一个解决方案,但不确定如何做,是在文档中找到一个部分来创建一个锚点,然后从那里添加表格?

1 个答案:

答案 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 ;包括那个。)