【发布时间】:2017-03-23 14:32:53
【问题描述】:
我原以为这很简单,但我无法让它工作(如果可以的话,我真的可以为自己节省很多工作;我承认我不是 Word 宏向导)。
我有一个带有一堆文字简介的 Word 文档。我已经定义了一个自定义文本框并将其添加到文本框库中。现在我想在每个简介旁边放置一个文本框,然后将简介移动到文本框中。我希望定义一个宏来使其自动化(即,我手动选择简介文本,然后运行一个宏来剪切简介,将光标移动到其正上方的文本框中,并将简介粘贴到那里)。
这似乎是“进入文本框”部分的障碍。我可以通过以下步骤从键盘手动完成:
- (光标位于文本框的左侧)shift-right-arrow(选择文本框)
- F2(将光标放在文本框中进行编辑)
但尝试录制复制此内容的宏是行不通的。录制的宏的代码最终如下所示:
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
ActiveDocument.Shapes.Range(Array("Text Box 2")).Select
当我在调试器中运行这个宏时,第一条语句实际上是选择宏启动时光标所在的文本框。
不幸的是,第二条语句不仅没有在该文本框内移动编辑光标(就像手动按 F2 键一样),它实际上选择了一个不同的文本框(文档中的第一个)。
我注意到,如果我查看“选择”窗格 (alt-F10),它会显示文档中的文本框,并且它们都具有相同的名称(“文本框 2”)。所以我想这是问题的一部分。 (Word 不会给每个文本框一个唯一的名称吗?)但似乎也找不到任何宏代码将编辑光标移动到当前选定的文本框(是否有 SetFocus 或类似的东西?)
这肯定是可能的吗? :-/
谢谢。
/约翰
【问题讨论】:
标签: ms-word