这很有效。之后,目标具有源的内容:
Call uidoc.GotoField("source")
Call uidoc.SelectAll
Call uidoc.Copy
Call uidoc.GotoField("target")
Call uidoc.Paste
现在,我想让用户参与进来。他在“来源”中用鼠标标记了两个单词(一个名字)。领域。我的意图是,将此标记文本转移到另一个字段' target'。
Notes文档说uidoc.copy采用在编辑模式下标记的文本。 这是原始文档的摘录:
将文档中的当前选择复制到剪贴板。该 当前选择可以是文档上的任何内容,例如文本或 图形。
这不起作用,发生错误。错误消息:只有文本可以粘贴到此类型的字段中:
Call uidoc.Copy
Call uidoc.GotoField("target")
Call uidoc.Paste
所有字段都是纯文本。
有没有人有另一个想法来解决这个问题?
答案 0 :(得分:2)
我发现按钮实际上将焦点改为自身。这就是这种行为的原因。
一种可能的解决方案是使用一个将焦点留在原点的Action。
答案 1 :(得分:0)
那问题在哪里? uidoc.Copy只复制整个文档或没有任何内容(取决于光标位置)。并且"内容"无法粘贴到文本字段中。
但请注意:不要在该上下文中使用复制+粘贴,因为代码也会失败,如果文档例如未处于编辑模式。
使用Backend- Operations然后您将不依赖于正确的焦点/编辑模式:
Call uidoc.Document.ReplaceItemValue( "Target" , uidoc.Document.GetItemValue( "Source" ) )
甚至更短(使用简写符号):
uidoc.Document.Target = uidoc.Document.Source