将具有格式的单元格从Excel文件复制到Word文档

时间:2019-01-10 11:56:16

标签: excel vba ms-word

我正在尝试编写一个 Word宏,该宏从 Excel 单元格中获取数据,并以此为替换 Word 文件中的单词数据。

我的第一个问题是替换超过250个字符,这些问题已得到修复。 但这导致了一个新问题。 我替换 Word文档中的单词后,Excel文件中的数据将被格式化,并且这种格式化将被销毁。

我的替换功能如下:

Sub ReplaceText(strSearch As String, strReplace As String)
    Dim sSplit As String: sSplit = "<Å*Å>"
    Dim sLeft As String
    Dim sLarge As Boolean: sLarge = True

    Do While sLarge = True
        If Len(strReplace) > 251 Then
            sLeft = Left(strReplace, 250) & sSplit
            strReplace = Right(strReplace, Len(strReplace) - 250)
            Call Split_Replace(strSearch, sLeft)
        ElseIf Len(strReplace) <= 251 Then
            Call Split_Replace(strSearch, strReplace)
        sLarge = False
        End If
        strSearch = sSplit
    Loop
End Sub

Sub Split_Replace(strSearch As String, strReplace As String)
    With Selection.Find
        .Text = strSearch
        .Replacement.Text = strReplace
        .Forward = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .Wrap = wdFindContinue
        .Execute Replace:=wdReplaceAll
    End With
End Sub

我这样称呼:

Call ReplaceText("intro", MyWB.Sheets(Geschlecht).Cells(7, 4)

但是所有类似(粗体,斜体,下划线,编号等)的内容都将被删除。 如果我使用MsgBox向我显示他从excel单元格中获得的数据,则其格式为: 例如在替换功能

MsgBox strReplace 

显示正确的格式。

我希望你们中的一个知道如何解决此问题,或者可以向我提示正确的方向。

拉尔斯问候

0 个答案:

没有答案