1
我試圖運行腳本來搜索關鍵字,然後複製找到該關鍵字的整個句子,並將其粘貼在Excel電子表格上。宏錯誤 - Microsoft Word - 運行時錯誤'1004':工作表類錯誤的粘貼方法失敗
當我運行一個文件是1-2頁的劇本,它運行良好,但是當我嘗試更長的文檔(100頁以上),我收到以下錯誤:
運行 - 時間錯誤'1004':Worksheet類的粘貼方法失敗。 當我點擊「調試」它說「objsheet.paste」是問題。
你能幫我解決一下代碼,以便它可以處理更長的文本嗎?
Sub FindWordCopySentence()
Dim appExcel As Object
Dim objSheet As Object
Dim aRange As Range
Dim intRowCount As Integer
intRowCount = 1
Set aRange = ActiveDocument.Range
With aRange.Find
Do
.Text = "Hair"
.Execute
If .Found Then
aRange.Expand Unit:=wdSentence
aRange.Copy
aRange.Collapse wdCollapseEnd
If objSheet Is Nothing Then
Set appExcel = CreateObject("Excel.Application")
Set objSheet = appExcel.workbooks.Open("C:\Users\HNR\Desktop\hair.xlsx").Sheets("Sheet1")
intRowCount = 1
End If
objSheet.Cells(intRowCount, 1).Select
objSheet.Paste
intRowCount = intRowCount + 1
End If
Loop While .Found
End With
If Not objSheet Is Nothing Then
appExcel.workbooks(1).Close True
appExcel.Quit
Set objSheet = Nothing
Set appExcel = Nothing
End If
Set aRange = Nothing
End Sub
對不起,我嘗試粘貼代碼,它都混雜在一個段落。我不知道如何解決這個問題(剛剛接觸論壇,剛剛學會了今天的'宏'來試試這段代碼)。我不知道如何以正確的格式發佈代碼。 :\但我編輯原始文章與混亂的文本(和原始代碼的鏈接,如果你點擊它,並以正確的格式向下滾動它)。 – IrisRose
一旦你將代碼加入問題中,你需要將每行縮進4個空格,使其看起來不錯。 Ctrl-K是一個快捷鍵。 – YowE3K
FWIW - 我猜測打開工作簿導致剪貼板被清除是不正確的。 – YowE3K