【问题标题】:Powerbuilder 12.5 Word OLE bookmarks not populatingPowerbuilder 12.5 Word OLE 书签未填充
【发布时间】:2023-03-27 00:44:01
【问题描述】:

我正在尝试使用 Powerbuilder 12.5 在 word 模板文件 (.dot) 上填充书签

并非所有书签都已填充。我看到某些书签未填充。

代码

ObjWord=create OLEOBject
Objword.connectToNewObject("Word.application")
objword.Documents.add("path to file.dot")
count=objWord.ActiveDocument.Bookmarks.Count
for ll_bookmark =1 to count
ls_bookmark=objword.ActiveDocument.bookmarks[ll_bookmark].name
objword.selection.goto(TRUE,0,0,ls_bookmark)
objword.selection.typetext('May 2014')
next

【问题讨论】:

  • 代码已更新。 @关

标签: ms-word ole powerbuilder


【解决方案1】:

这可能是 GOTO 功能的限制,我之前没有尝试过。

我没有专门用你的代码尝试这个,但以下在 PB12.1 上对我有用:

ActiveDocument.BookMarks.Item(ls_bookmark).SELECT

【讨论】:

  • 书签选择语句成功选择了所有书签,但是当我使用 typetext 语句时,它只填充了一些书签。问题是当我使用 typetext 时无法访问书签
  • 如果您不需要将书签作为字段,请查看您是否使用普通书签来代替更改任何内容。如果用户永远不会自己填写它们,我不确定使用字段是否有优势。万一这很重要,请记住,在 typetext 之后书签不会自动删除,就像它是一个字段时一样(至少我看到它们的行为是这样的)。但是如果你需要的话,有一个功能。
  • 你能告诉我如何知道字段和书签之间的差异吗?如何检查我是否有字段?用户不会填写数据。
  • 另外,我正在从 PB 6.5 转换这个应用程序。早期的功能有 setformresult 功能,它不适用于最新版本。感谢您的支持。
  • Word 模板屏幕截图中的灰色框在我看来就像是通过“插入”菜单添加的字段。书签通过右键单击-> 属性分配给它们。分配书签后,您将看到围绕它的括号。它们能够包含表达式等,尽管在您的场景中我猜它们基本上只是书签“持有者”。当人们要填写空白时,它们很有用,它为他们提供了一个框,他们可以通过单击选择并开始输入。
【解决方案2】:

更新@Mike 的答案。

我的模板有表单字段,这就是书签没有更新的原因。将所有字段更改为简单的书签后,问题就解决了。

谢谢迈克。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    相关资源
    最近更新 更多