Excel VBA是否无法将整个段落替换为Word文档?

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

我使用VBA替换WordDocument中的变量[Z],使用Excel工作表中的单元格(Y)

当我运行程序时,worddocument中的变量[Z]被替换,但它变为空。单元格(Y)中的值未在word文档中注册

为什么Y单元格内容无法替换到word文档中

单元格Y的内容如下。。。 单元格(Y):

  • 要执行以下操作:

    1.1。aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (AAA)

    1.2。bbbbbbbbbbbbbbbbbbbbbbbbbb (AAA)

    1.3。中交 (AAA)

  • 要执行以下操作:

    2.1。dddddddddddddddddddddddddddd (AAA)

    2.2。依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依依 (AAA)

  • 要执行以下操作:

    3.1。FFFFFFFFFFFFFFFFFFFFFFFFFFFFF (AAA)


  • 您不能以这种方式指定替换格式。因此,您可以使用:

    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。这也失败了吗?