我有一段代码,它在2016年无法运行。这是Office 16的问题吗?
Dim objWordApp as Word.Application
Dim objWordDoc as Word.document
Set objWordApp = new Word.application
我收到一个错误"加载DLL时出错"。我已经包含了库Microsoft Word 16.0 Object Library。
谢谢 安娜
我有一段代码,它在2016年无法运行。这是Office 16的问题吗?
Dim objWordApp as Word.Application
Dim objWordDoc as Word.document
Set objWordApp = new Word.application
我收到一个错误"加载DLL时出错"。我已经包含了库Microsoft Word 16.0 Object Library。
谢谢 安娜
我不确定您出了什么问题,但如果您只想使用默认的MS Office打开新的Word文档,则可以使用以下代码:
Sub wordopener()
Dim objWord
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
objWord.Visible = True
End Sub
通常我会有一个包含“CreateWord”函数的BAS
文件,我会将它拖到需要它的任何工作簿/数据库中。
首先,它使用GetObject
来测试是否已经打开了Word。如果返回错误,则使用CreateObject
创建一个Word实例。
然后,可以通过简单地使用Set oWD_App = CreateWord
来打开Word应用程序。
Sub Test()
Dim oWD_App As Object
Dim oWD_Doc As Object
Set oWD_App = CreateWord
With oWD_App
Set oWD_Doc = .Documents.Add
End With
End Sub
Public Function CreateWord(Optional bVisible As Boolean = True) As Object
Dim oTempWD As Object
On Error Resume Next
Set oTempWD = GetObject(, "Word.Application")
If Err.Number <> 0 Then
Err.Clear
On Error GoTo ERROR_HANDLER
Set oTempWD = CreateObject("Word.Application")
End If
oTempWD.Visible = bVisible
Set CreateWord = oTempWD
On Error GoTo 0
Exit Function
ERROR_HANDLER:
Select Case Err.Number
Case Else
MsgBox "Error " & Err.Number & vbCr & _
" (" & Err.Description & ") in procedure CreateWord."
Err.Clear
End Select
End Function
Option Explicit
Sub TestMe()
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
objWord.Visible = True
End Sub