Arrays 故事范围到数组

Arrays 故事范围到数组,arrays,string,vba,types,ms-word,Arrays,String,Vba,Types,Ms Word,通过这段代码,我尝试从多个word文件中输入文本,并将它们输出到单个word文档中,将多个文件合并到一个文档中 作为中间的一步,我想将打开文档中的文本放入一个数组中。但是,我无法找到将从StoryRange函数接收的Range对象转换为字符串的方法,因此可以将其放入数组中 我试图使用.text属性,但这会导致类型不匹配错误 .text属性似乎不是字符串格式。请参阅下面的参考资料 参考资料 StoryRange() Range.Text属性 Text返回一个字符串,但您正在将其分配给字符串数

通过这段代码,我尝试从多个word文件中输入文本,并将它们输出到单个word文档中,将多个文件合并到一个文档中

作为中间的一步,我想将打开文档中的文本放入一个数组中。但是,我无法找到将从
StoryRange
函数接收的
Range
对象转换为字符串的方法,因此可以将其放入数组中

我试图使用
.text
属性,但这会导致类型不匹配错误

.text
属性似乎不是字符串格式。请参阅下面的参考资料

参考资料

  • StoryRange()
  • Range.Text
    属性

Text
返回一个字符串,但您正在将其分配给字符串数组,而不是字符串变量

如果要将每个文档的文本放入字符串数组中,请首先根据您拥有的文档数对数组进行尺寸标注,然后将每个文档的文本指定给数组元素:

ReDim storyArray(Documents.Count - 1) As String
Dim i As Long

For Each d In Documents
    storyArray(i) = d.StoryRanges(wdMainTextStory).Text
    i = i + 1
Next
然后,您可以稍后在数组中循环以组合字符串:

For i = 0 To UBound(storyArray)
    outputDoc.StoryRanges(wdMainTextStory).InsertAfter storyArray(i)
Next
For i = 0 To UBound(storyArray)
    outputDoc.StoryRanges(wdMainTextStory).InsertAfter storyArray(i)
Next