Vba 将Word文档拆分为多个部分并保留文本格式
我的任务 根据分隔符将Word文档拆分为多个部分,同时保留文本格式 我在哪里 我用一个文档尝试了一个基本的例子,但没有数组,它成功了Vba 将Word文档拆分为多个部分并保留文本格式,vba,vbscript,ms-word,Vba,Vbscript,Ms Word,我的任务 根据分隔符将Word文档拆分为多个部分,同时保留文本格式 我在哪里 我用一个文档尝试了一个基本的例子,但没有数组,它成功了 Option Explicit Public Sub CopyWithFormat() Dim docDestination As Word.Document Dim docSource As Word.Document Set docDestination = ActiveDocument Set docSource
Option Explicit
Public Sub CopyWithFormat()
Dim docDestination As Word.Document
Dim docSource As Word.Document
Set docDestination = ActiveDocument
Set docSource = Documents.Add
docSource.Range.FormattedText = docDestination.Range.FormattedText
docSource.SaveAs "C:\Temp\" & "test.docx"
docSource.Close True
End Sub
我卡在哪里
我将整个文档放入一个数组中并循环遍历它。对不对,我得到一个错误424-此行需要对象:
docDestination.Range.FormattedText=arrNotesI
我还尝试了这四种变体,但运气不佳:
docDestination.Range.FormattedText = arrNotes(I).Range.FormattedText
docDestination.Range.FormattedText = arrNotes(I).FormattedText
docDestination.Range.FormattedText = arrNotes.Range.FormattedText(I)
docDestination.Range.FormattedText = arrNotes.FormattedText(I)
你能帮我指出正确的方向,告诉我如何正确访问阵列吗
我的代码
Range.FormattedText返回一个范围对象。另一方面,Split函数返回不包含格式的字符串数组。因此,代码应该找到要复制的文档部分,并将该部分的FormattedText分配给声明为Range的变量。然后可以将该变量插入到另一个文档中
Private Sub CopyRange()
Dim Src As Range, Dest As Range
Dim Arr As Range
Set Src = Selection.Range
Set Arr = Src.FormattedText
Set Dest = ActiveDocument.Range(1, 1)
Dest.FormattedText = Arr
End Sub
上面的代码实际上是有效的。您需要做的就是找到一种方法,用一种方法来替换概念中的Split函数,该方法标识源文档中的范围而不是字符串
Private Sub CopyRange()
Dim Src As Range, Dest As Range
Dim Arr As Range
Set Src = Selection.Range
Set Arr = Src.FormattedText
Set Dest = ActiveDocument.Range(1, 1)
Dest.FormattedText = Arr
End Sub