我已经多年没用过VB了,所以如果事实证明这很明显,请原谅我.我正在尝试编写一个单词vba宏,用于显示userform的模板,然后根据userform导入fileA.docx,fileB.docx或fileC.docx的内容.(之后我将使用书签填写一些表格数据,我不知道这是否相关).文件A,B和C将包含带有一些基本格式的文本,例如列表,但没什么特别的.
我在网上看到的解决方案可以将文件内容复制到一个新文件,但理想情况下我想将其中一个文件导入到我从模板中获取的新的,当前未命名的文件中.我认为我遇到问题的地方是将选择切换到其中一个文件,然后再回到新的未命名文档,尽管我可以用一只手来确保我也正确地复制.
更新:我做的事情太难了,虽然这里的答案让我指出了正确的方向(谢谢!).最后我才做到了
ThisDocument.Activate
Selection.InsertFile("fileA")
Run Code Online (Sandbox Code Playgroud)
这给了我想要的一切原始转储.
小智 7
使用这些命令可以在您正在使用的文档和复制和粘贴元素之间切换:
ThisDocument.Activate 'Sets the main document active
Documents("Name.doc").Activate 'Activates another document
Run Code Online (Sandbox Code Playgroud)
您可以使用复制命令在文档中插入,复制和粘贴内容.
ThisDocument.Range.InsertAfter("String") 'Insert text
Selection.WholeStory 'Select whole document
Selection.Expand wdParagraph 'Expands your selection to current paragraph
Selection.Copy 'Copy your selection
Documents("name.doc").Activate 'Activate the other document
Selection.EndKey wdStory 'Move to end of document
Selection.PasteAndFormat wdPasteDefault 'Pastes in the content
Run Code Online (Sandbox Code Playgroud)
然后,您可以进行格式化,或者使用之前的原始格式复制和粘贴它们.
录制宏...
或(假设单词 2007 或更高版本)
我更喜欢第二个版本,所以我应该把它放在第一位