尝试运行简单代码时,出现“错误91:对象变量或块变量未设置”。此代码在多台机器上运行。现在有一台机器在更新或重新安装了几个应用程序之后会抛出错误91; Excel可能是也可能不是重新安装的应用程序之一。我的机器上的代码运行顺利,Excel 2010(14.0.7143.5000)。机器出现问题有Excel 2010(14.0.7015.1000)。我已检查并发现没有缺失的库引用。软件更新/重新安装后的错误91
以下(标准export-pdf)代码是问题所在。在第二个With块中引用“OutlApp”对象时引发该错误。
我不是专业的程序员,只是业余爱好者。任何帮助,将不胜感激。
Function ExportData()
Dim PrintRange As Range
Dim IsCreated As Boolean
Dim PDFData As String
Dim OutlApp As Object
Dim sh1 as Worksheet
Set sh1 = Sheets("Data")
Set PrintRange = Union(sh1.Range("B4:L70"), sh1.Range("B72:L138"))
PDFData = "F:\DATA\file " & Range("K4").Value & ".pdf"
With PrintRange
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFData, _
QUALITY:=xlQualityStandard, INCLUDEDOCPROPERTIES:=True, _
IGNOREPRINTAREAS:=False, OPENAFTERPUBLISH:=False
End With
On Error Resume Next
Set OutlApp = GetObject(, "OUTLOOK.APPLICATION")
If Err Then
Set OutlApp = CreateObject("OUTLOOK.APPLICATION")
IsCreated = True
End If
OutlApp.Visible = True
On Error GoTo 0
With OutlApp.CREATEITEM(0) '<---Error 91 thrown here
.Subject = "DATA PACKAGE " & Range("K4").Value
.To = Range("I15").Value
.BODY = ""
.attachments.Add PDFData
On Error Resume Next
.SEND
On Error GoTo 0
End With
Kill PDFData
If IsCreated Then OutlApp.Quit
Set OutlApp = Nothing
End Function
已安装Outlook,但我认为它是在故障开始之前更改的应用程序。我的钱说你是正确的,OutlApp没有设置;现在我只需要弄清楚为什么...... – mistersister