2016-06-18 220 views
0

我有一個問題,關於在EXCEL中使用VBA來合併幾個word文檔的內容。這可能是很簡單的,但我是新來的VBA世界......目前,我可以使用VBA合併來自幾個word文檔的某些頁面的內容

  1. 打開一個Word文檔,並複製其所有內容的
  2. 其粘貼到一個合併word文檔
  3. 重複步驟1和2

但是,我想知道如何跳過使用VBA的所有文檔的第一頁。我試過tempDoc.Range(Start:=2).Select,但沒有奏效。感謝您的任何建議!

Set objTempWord = CreateObject("Word.Application") 
Set tempDoc = objWord.Documents.Open(Folderpath to Word Document) 
Set objTempSelection = objTempWord.Selection 
tempDoc.Range.Select 
tempDoc.Range.Copy 
objSelection.TypeParagraph 
objSelection.Paste 
objSelection.InsertBreak Type:=wdSectionBreakNextPage 
tempDoc.Close 

回答

2

編輯 - 添加另一個Word恆 - 選擇對象

的改變定義假設你擁有一切定義 這將啓動第2頁,然後選擇eveyrthing到文件結尾的

const wdGoToAbsolute = 1 
const wdGoToPage = 1 
const wdGoToNext = 2 
const wdStory = 6 
const wdExtend = 1 

Set objTempWord = CreateObject("Word.Application") 
Set tempDoc = objWord.Documents.Open(Folderpath to Word Document) 

With tempDoc.Application 
    .Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:="2" 
    .Selection.EndKey Unit:=wdStory, Extend:=wdExtend 
    .Selection.Copy 
End With 

objSelection.TypeParagraph 
objSelection.Paste 
objSelection.InsertBreak Type:=wdSectionBreakNextPage 
tempDoc.Close 
+0

感謝您的建議。我用你的代碼,但得到了'運行時錯誤438對象不支持這個屬性或方法'關於語句'.Selection.Goto什麼:= wdGoToPage,其中:= wdGoToAbsolute,計數:= 3' –

+0

更新後的代碼使用不同的代碼對象進行選擇並添加另一個未定義的字常量 – dbmitch

+0

再次感謝。試圖修改代碼,但得到了'運行時錯誤91:對象變量或塊變量未設置'爲同一語句... –

0

不是一個單詞VB專家,但我知道的範圍對象可以接受的參數爲第一個字符和最後一個字符的數目 - https://msdn.microsoft.com/en-us/library/office/ff845882.aspx。因此,您需要知道第二張紙上第一個字符的編號是多少個字符,最後一張紙上最後一個字符的個數是多少。然後您可以使用範圍對象 - https://msdn.microsoft.com/en-us/library/office/ff845882.aspx

這就是說你提到的Excel,但不解釋爲什麼 - 這是一個Word的事情或Excel?

相關問題