Копирование ячейки с форматированием из файла Excel в текстовый документ - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь написать макрос Word , который берет данные из ячейки Excel и заменяет слова в файле Word на эти взятые данные.

Моей первой проблемой было заменить более 250 символов, которые я исправил. Но это привело к новой проблеме. Данные в файле Excel форматируются, и это форматирование уничтожается, как только я заменю слово в документе Word.

Моя функция замены выглядит следующим образом:

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 

Показывает правильное форматирование.

Надеюсь, один из вас, ребята, знает, как это исправить, или может дать мне подсказку в правильном направлении.

Привет, Ларс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...