Я пытаюсь написать макрос 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
Показывает правильное форматирование.
Надеюсь, один из вас, ребята, знает, как это исправить, или может дать мне подсказку в правильном направлении.
Привет, Ларс