2015-07-20 54 views
1

尝试运行简单代码时,出现“错误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 

回答

2

我不能100%肯定,但似乎问题是,此行失败:

Set OutlApp = GetObject(, "OUTLOOK.APPLICATION") 

而此行还有:

Set OutlApp = CreateObject("OUTLOOK.APPLICATION") 

所以,当你得到错误91 - OutlApp未设置的行。至于为什么这些行失败,也许用户没有安装Outlook?

+0

已安装Outlook,但我认为它是在故障开始之前更改的应用程序。我的钱说你是正确的,OutlApp没有设置;现在我只需要弄清楚为什么...... – mistersister

0

尝试这样的事情(你改变它,带块):

Dim Mail 

Set Mail = OutlApp.CreateItem(0) 

With Mail 
    .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 
Set Mail = Nothing 
0

因此,该代码通过Windows Update几次传球后跑了无差错。 @JohnColeman没有错,对象变量没有被设置,但我没有任何线索为什么它没有被设置,此外,更新如何使一切顺利进行。

相关问题