[英]VBA paste from Excel to Word ends sub
總體目標是在Excel中采用RTF格式的文本並將其轉換為HTML。 到目前為止,我一直無法使Excel以明智的方式做出響應,因此嘗試使用Word。 我能夠在Word中進行轉換而不會出現問題,因此希望通過將單元格復制到Excel中,粘貼到Word中,然后運行代碼以將格式轉換為所需的方式來自動化該過程。
我遇到一個問題,當我從Excel VBA粘貼到Word中時,粘貼成功,但是隨后跳到End Sub
。
Sub webtext(r As String)
Range(r).Copy
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Set wordApp = CreateObject("word.Application")
Set wordDoc = wordApp.Documents.Add
wordApp.Visible = True
wordApp.Activate
wordApp.Selection.PasteSpecial
'Any code here is missed out
z = MsgBox("tada") 'this will never trigger
x=5 'this will never set
With wordDoc
'Operations on the text pasted would happen here
'but vba never gets here.
End With
'Code jumps to here
End Sub
我嘗試同時使用wordDoc和wordApp以及粘貼和pastespecial,但始終具有相同的結果。
是否有人對粘貼后發生的事情或如何阻止其始終結束有任何想法?
編輯:我已經對此進行了測試,並且它可以在Office 2010上工作。它不能在Office 2013上工作。
它對我來說很好
但是建議您嘗試這些調整,看看是否AppActivate
( AppActivate
是多余的)。
Sub StartIt()
Call webtext("a1:a10")
End Sub
主要
Sub webtext(r As String)
Range(r).Copy
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Set wordApp = New Word.Application
Set wordDoc = wordApp.Documents.Add
wordApp.Visible = True
With wordDoc
.ActiveWindow.Selection.Paste
End With
End Sub
似乎有待解決。 VBA調試器在點擊WordApp部分后無法理解發生了什么,因此代碼似乎跳到了該部分的末尾。
此外,似乎任何單詞更改都應在With wordDoc
部分中進行,因為有時在兩者之間正確命中代碼可能有些奇怪(盡管從未弄清楚為什么第一次缺少消息框)。
感謝@brettdj在測試和道歉方面所提供的幫助,以幫助我理解所發生的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.