【问题标题】:Lotus Notes OLE WordLotus Notes OLE Word
【发布时间】:2018-04-11 15:04:54
【问题描述】:

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

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

【问题讨论】:

  • 您好,我遇到了一个解决方案,表格在excel中创建,然后插入到word中。

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


【解决方案1】:

创建具有多行的表(来自多条记录的 IOW)的最有效方法是首先将数据连接成以字符分隔的格式作为字符串。例如

item1;item2;item3
item1;item2;item3
item1;item2;item3

每条记录由 ANSI 13 分隔(这是必须的,项目分隔符可以是任何你想要的)。

将其分配给 Word.Range

RngStory.Text = strData

然后使用内置方法将其转换为表格:

ObjTable = RngStory.ConvertToTable(";")

该方法采用许多可选参数。你需要阅读它来决定你需要哪些。

如果您随后需要以任何方式格式化或使用结果表,请使用 ObjTable(根据您的编程语言,您可能需要首先声明它 - 我不熟悉 Lotusscript,所以我不能包含它.)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多