正如KazJaw上面所說的,作爲一名中級VBA用戶,您應該能夠創建用戶窗體和相關代碼,以便您的用戶按照您的描述選擇Word文檔。一旦開始使用Word文檔,與Excel編碼有些不同。
讓我分享我知道這個小:
首先,確保你已經激活Word對象庫:在工具菜單上,單擊引用。在可用引用列表中,找到並選擇適當的Microsoft Word對象庫
據我所知,遲綁定只是在分配值時聲明對象類型。我不知道這是否會解決您的'錯誤訪問系統註冊表'問題。我已經使用後期綁定,當我打電話Word文檔通過先定義一個變量作爲一個通用對象:
Dim wdApp As Object
Dim wd As Object
然後確定我創建的對象(S):
On Error Resume Next
Set wdApp = GetObject(, "Word.Application") 'establishing the word application
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wd = wdApp.Documents.Open("C:\YourFilePath") 'establishing a file to use
一旦你做到了這一點,您可以使用可用的命令開始操作Word,所有這些命令都可以在網絡上的其他位置找到,或者使用編譯器的提示(例如,首先輸入Word.Application.ActiveDocument.
,您將看到可用於操作的功能列表該文件)。這裏有幾個,與我用一個預先定義的變量wd
指特定的文檔:
wd.Activate 'activate the word doc
wd.PrintOut 'printout the word doc
wd.FormFields("BundleNumber1").Result = sBundleNumber 'fill in a pre-established form field with data stored in the variable 'sBundleNumber'
wd.Close 'close the word doc
如果您選擇文檔的全部內容,我認爲應該是相當兩岸前進(類似Word.Application.ActiveDocument.SelectAllEditableRanges
,但如果必須選擇文檔的子部分,則應該知道可以在Word中定義範圍,這與在Excel中定義的方式非常相似,但邊緣不如Excel中的單元格整齊。我相信他們是由段落和中斷來定義的,但是你必須研究這是如何完成的:我從來沒有做過。
希望這對你有幫助,可以創建一個代碼,然後b e由社區爭辯(如有必要)。
「中級Excel VBA體驗」,您可以自行編寫50%的代碼。做到這一點,並回到這裏與你會遇到的問題。作爲'Excel-Word interop'的一個良好開端,請在SO:'[excel-vba] [word-vba]'這裏的搜索引擎中輸入以下內容,然後按回車。一半的結果將是一個好的開始點。 –