【发布时间】:2020-07-05 16:05:44
【问题描述】:
如何在 VBA 中复制 Word 文档的全部内容(大约 2 页)并存储在变量中?
我一直在尝试几件事,但都没有奏效:
Dim mainData As String
ThisDocument.Activate
ActiveDocument.WholeStory 'error on this line
mainData = Selection.Text
使用“记录宏”,我可以模拟选择一段或整个文本,但我无法模拟将其存储到变量中。
以上代码抛出
'此命令不可用,因为没有打开文档',
但我不是先激活这个(当前)文档,然后选择它(ActiveDocument.WholeStory)吗?
为什么这不起作用?
稍后编辑:我设法做到了这样的选择:
Dim sText As String
Application.Selection.ClearFormatting
Application.Selection.WholeStory
sText = Application.Selection.Text
MsgBox sText
但问题是我无法将整个文本(2 页)存储在变量中。它的一部分被截断。你知道如何逐字存储(我一次只需要一个字)?
稍后编辑。我在文本上应用了strReverse,发现文本实际上完全存储在变量中,只是没有完全显示在消息框中。
【问题讨论】:
-
已解决,非常感谢 Slai 和 Cindy。我不能投票给你的 cmets。两者都非常有用。