我想通過Excel循環,其中列A保存我想要在Word中找到的文本。 B列在找到文本的段落結束後保留我想要粘貼的內容。通過Excel循環,在Word中鍵入值,粘貼Excel字符串
在Word VBA中工作時,查找文本正在工作並移動到段落結尾。但是當我移動到Excel VBA時,find方法似乎沒有做任何事情。
Sub UpdateWordDoc1()
Dim mywb As Excel.Worksheet
Set mywb = ActiveWorkbook.ActiveSheet
Dim wdDoc As Object, wdApp As Object
Dim questiontext As String
Dim oSearchRange
On Error Resume Next
Set wdDoc = CreateObject("C:\mydoc.docx")
Set wdApp = wdDoc.Application
Set oSearchRange = wdDoc.Content
With mywb
For i = 2 To .Range("A6000").End(xlUp).Row
questiontext = .Range("A" & i).Value
.Range("B" & i).Copy
Set blabla = oSearchRange.Find.Execute.Text = questiontext
blabla.Select
Selection.movedown unit:=wdparagraph
Selection.moveleft unit:=wdcharacter
Selection.PasteAndFormat (wdFormatOriginalFormatting)
Next i
End With
'wdDoc.Close savechanges:=True
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
已添加到Word對象庫的引用? Excel不知道(例如)'wdFormatOriginalFormatting'的值是... –
是的。參考在那裏,代碼運行良好。它只是沒有做任何事情。我的直覺是它圍繞着選擇的東西。我不認爲該計劃正在將「主動」轉移到Word,並允許它控制和查找問題文本,然後採取行動。但是,顯然我不確定。當我遍歷代碼時,沒有任何反應,例如,在我想要看到光標實際移動的移動或移動後。 – strahanstoothgap
代碼'Selection.movedown'(和類似的東西)將操縱Excel的選擇,而不是Word的。你可以通過使用'wdApp.Selection'或'wdDoc.ActiveWindow.Selection'或類似的東西來解決這個問題。 – xidgel