簡體   English   中英

運行時錯誤91 excel vba,未設置對象

[英]runtime error 91 excel vba, Object not set

以下代碼有什么問題?,每次運行時,我都會收到“運行時錯誤91,對象變量或未設置黑色變量”

Private Sub Document_Open()

Dim workBook As workBook
Application.ScreenUpdating = True
Set workBook = Workbooks.Open("Z:\Credit_Check_DB.xls", True, True)
txtCompany1.Value = workBook.Worksheets("Sheet2").Range("A1").Formula
txtCompany2.Value = workBook.Worksheets("Sheet2").Range("A1").Formula
txtCityState1.Value = workBook.Worksheets("Sheet2").Range("C1").Formula
txtCityState2.Value = workBook.Worksheets("Sheet2").Range("C1").Formula
txtDate1.Value = workBook.Worksheets("Sheet2").Range("F1").Value
txtAddress1.Value = workBook.Worksheets("Sheet2").Range("B1").Formula
txtZip1.Value = workBook.Worksheets("Sheet2").Range("D1").Formula
txtPO.Value = "Purchase Order#:    " & workBook.Worksheets("Sheet2").Range("I1").Formula
txtRec.Value = workBook.Worksheets("Sheet2").Range("K1").Formula
workBook.Close False
Set workBook = Nothing
Application.ScreenUpdating = True
Close_Excel
End Sub

Private Sub Close_Excel() 'closes excel application.

Dim Excel As Excel.Application
Dim ExcelOpened As Boolean

ExcelOpened = False
On Error Resume Next
Set Excel = GetObject(, "Excel.Application")
If Excel Is Nothing Then
    Set Excel = New Excel.Application
    ExcelOpened = True
End If
On Error GoTo 0

With Excel
    If ExcelOpened Then
        .Visible = True
        .Workbooks.Add
    End If
    .ActiveWorkbook.Close False  ***<-***!!!!!Debugger points to here!!!!!******
    .Quit
End With

End Sub

知道我的代碼有什么問題嗎? 我基本上是將信息從Excel轉換成單詞。

也許Excel沒有指向任何Excel應用程序(出了點問題,但是您跳過了該錯誤),所以ActiveWorkbook指向沒有任何內容。 您應該在GetObject之后立即將On Error GoTo 0設置為On Error GoTo 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM