正如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]'这里的搜索引擎中输入以下内容,然后按回车。一半的结果将是一个好的开始点。 –