Excel VBA是否无法将整个段落替换为Word文档?
我使用VBA替换WordDocument中的变量[Z],使用Excel工作表中的单元格(Y) 当我运行程序时,worddocument中的变量[Z]被替换,但它变为空。单元格(Y)中的值未在word文档中注册 为什么Y单元格内容无法替换到word文档中 单元格Y的内容如下。。。 单元格(Y):Excel VBA是否无法将整个段落替换为Word文档?,excel,vba,ms-word,Excel,Vba,Ms Word,我使用VBA替换WordDocument中的变量[Z],使用Excel工作表中的单元格(Y) 当我运行程序时,worddocument中的变量[Z]被替换,但它变为空。单元格(Y)中的值未在word文档中注册 为什么Y单元格内容无法替换到word文档中 单元格Y的内容如下。。。 单元格(Y): 要执行以下操作: 1.1。aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您不能以这种方式指定替换格式。因此,您可以使用:
Z = Cells(9, 4).Text
...
.Replacement.Text = Z
仅替换文本内容
如果需要使用单元格或其内容的字符格式进行替换,可以使用以下方法:
Cells(9, 4).Copy
With WordDoc.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "[Z]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
End With
Do While .Find.Execute
.PasteAndFormat wdUseDestinationStylesRecovery
.Collapse wdCollapseEnd
Loop
End With
您不能以这种方式指定替换格式。因此,您可以使用:
Z = Cells(9, 4).Text
...
.Replacement.Text = Z
仅替换文本内容
如果需要使用单元格或其内容的字符格式进行替换,可以使用以下方法:
Cells(9, 4).Copy
With WordDoc.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "[Z]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
End With
Do While .Find.Execute
.PasteAndFormat wdUseDestinationStylesRecovery
.Collapse wdCollapseEnd
Loop
End With
无法确定,但当单元格内容超过255个字符时,Application.WorkSheetFunction.Text(Z,GenFormat)将导致错误。仅使用指定给Z的值的AFAIC应该有效,即使用.Replacement.Text=Z。这是否也会失败?无法确定,但当单元格内容超过255个字符时,Application.WorkSheetFunction.Text(Z,GenFormat)将导致错误。仅使用指定给Z的值的AFAIC应该有效,即使用.Replacement.Text=Z。这也失败了吗?