1

我正在尝试从 Outlook (Office 2010) 更新 Excel 文件。如何引用和访问 Excel?

作为一个简单的测试,我试图计算打开的工作簿的数量。当我运行它时,我得到 0,即使有 2 个打开。

Sub Test()
    Dim xlApp As Excel.Application
    Dim xlWBook As Excel.Workbook

    Set xlApp = New Excel.Application
    Debug.Print "xlApp.Workbooks.Count = " & xlApp.Workbooks.Count

    On Error Resume Next
    Set xlWBook = xlApp.Workbooks("Data.xlsx")
    Err.Clear 'Clear error and open File Index

    If  xlWBook Is Nothing Then
        Set xlWBook = xlApp.Workbooks.Open("C:\Users\Chris\Desktop\Data.xlsx")
    End If
End Sub
4

1 回答 1

4

这是我用来检测 Excel 的:

Dim xlApp As excel.Application
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number = 429 Then 'Excel not running
    Set xlApp = CreateObject("Excel.Application")
End If
On Error GoTo 0

设置 xlApp 后,您可以使用它xlApp.Workbooks.Count来计算工作表

注意:如果要查找多个 Excel 实例,此代码将打开第一个

如果您必须查找特定的工作簿,请从此页面Set xlApp = GetObject("Book2").Application找到该工作簿,即使它不是第一个实例。如果工作簿来自文件或已保存,请替换book2完整路径和文件名 -副作用-如果文件尚未打开,这也会打开文件更多使用信息:http: //msdn.microsoft.com/en -us/图书馆/aa164798%28v=office.10%29.aspx

于 2012-06-26T13:58:34.227 回答