如何使用vba打开Word应用程序
我有密码。2016年不会运行。这是Office 16的问题吗如何使用vba打开Word应用程序,vba,excel,Vba,Excel,我有密码。2016年不会运行。这是Office 16的问题吗 Dim objWordApp作为Word.Application Dim objWordDoc作为Word.document 设置objWordApp=new Word.application 加载DLL时出现错误。我已经包含了库Microsoft word 16.0对象库 问候 安娜我不确定你出了什么问题,但如果你只是想用默认的MS office打开一个新的word文档,那么你可以使用这种代码的和平 Sub wordopener()
Dim objWordApp作为Word.Application
Dim objWordDoc作为Word.document
设置objWordApp=new Word.application
加载DLL时出现错误。我已经包含了库Microsoft word 16.0对象库
问候
安娜我不确定你出了什么问题,但如果你只是想用默认的MS office打开一个新的word文档,那么你可以使用这种代码的和平
Sub wordopener()
Dim objWord
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
objWord.Visible = True
End Sub
我不确定你出了什么问题,但如果你只是想用默认的MS office打开一个新的word文档,那么你可以使用这种代码的和平
Sub wordopener()
Dim objWord
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
objWord.Visible = True
End Sub
您正在尝试使用早期绑定。这是明智的,因为它是一个有点快,它给你的智能感觉,这是很好的。但是,要使用它,您应该添加相应的库 但是,如果使用较慢的后期绑定,则不需要添加任何库。它没有智能感知,速度会慢一些(但可能不明显) 试着这样做:
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
您正在尝试使用早期绑定。这是明智的,因为它是一个有点快,它给你的智能感觉,这是很好的。但是,要使用它,您应该添加相应的库 但是,如果使用较慢的后期绑定,则不需要添加任何库。它没有智能感知,速度会慢一些(但可能不明显) 试着这样做:
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
我通常有一个
BAS
文件,其中包含“CreateWord”函数,我可以将它拖到任何需要它的工作簿/数据库中
首先,它使用GetObject
测试Word是否已经打开。如果返回错误,它将使用CreateObject
创建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
然后,只需使用Set-oWD\u-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
子测试()
Dim oWD_应用程序作为对象
作为对象的Dim oWD_文档
设置oWD_App=CreateWord
使用oWD_应用程序
设置oWD_Doc=.Documents.Add
以
端接头
作为对象的公共函数CreateWord(可选bVisible为Boolean=True)
作为对象的Dim oTempWD
出错时继续下一步
Set-oTempWD=GetObject(,“Word.Application”)
如果错误号为0,则
呃,明白了
关于错误转到错误处理程序
设置oTempWD=CreateObject(“Word.Application”)
如果结束
oTempWD.Visible=bVisible
设置CreateWord=oTempWD
错误转到0
退出功能
错误\u处理程序:
选择案例错误编号
其他情况
MsgBox“错误”和错误编号、vbCr和_
过程CreateWord中的(&Err.Description&')
呃,明白了
结束选择
端函数
我通常有一个BAS
文件,其中包含“CreateWord”函数,我可以将它拖到任何需要它的工作簿/数据库中
首先,它使用GetObject
测试Word是否已经打开。如果返回错误,它将使用CreateObject
创建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
然后,只需使用Set-oWD\u-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
子测试()
Dim oWD_应用程序作为对象
作为对象的Dim oWD_文档
设置oWD_App=CreateWord
使用oWD_应用程序
设置oWD_Doc=.Documents.Add
以
端接头
作为对象的公共函数CreateWord(可选bVisible为Boolean=True)
作为对象的Dim oTempWD
出错时继续下一步
Set-oTempWD=GetObject(,“Word.Application”)
如果错误号为0,则
呃,明白了
关于错误转到错误处理程序
设置oTempWD=CreateObject(“Word.Application”)
如果结束
oTempWD.Visible=bVisible
设置CreateWord=oTempWD
错误转到0
退出功能
错误\u处理程序:
选择案例错误编号
其他情况
MsgBox“错误”和错误编号、vbCr和_
过程CreateWord中的(&Err.Description&')
呃,明白了
结束选择
端函数
将给定的引用添加到VBE后,您的代码对我来说运行良好。那么,你能详细说明一下吗?不运行并没有真正的帮助。你收到错误信息了吗?如果是这样的话,你能告诉我们你得到的错误吗?您是否能够在另一台安装了MS Word和MS Excel 2016的计算机/系统上尝试您的代码?也许您还可以分享一些系统见解,因为这似乎是一个非编程问题:Citrix设置?其他版本的Office共同安装,等等?你能给一个屏幕截图,你如何包括图书馆?与给定的参考添加到VBE你的代码运行良好为我。那么,你能详细说明一下吗?不运行并没有真正的帮助。你收到错误信息了吗?如果是这样的话,你能告诉我们你得到的错误吗?您是否能够在另一台安装了MS Word和MS Excel 2016的计算机/系统上尝试您的代码?也许您还可以分享一些系统见解,因为这似乎是一个非编程问题:Citrix设置?其他版本的Office共同安装,等等?你能给一个屏幕截图,你如何包括图书馆?