从Outlook引用和访问Excel

时间:2012-06-26 13:49:50

标签: excel vba

我正在尝试从Outlook更新Excel文件(Office 2010)。如何引用和访问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

1 个答案:

答案 0 :(得分: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实例,则此代码将打开第一个

如果您必须找到特定的工作簿,this pageSet xlApp = GetObject("Book2").Application将找到工作簿,即使它不在第一个实例中。如果工作簿来自文件或已保存,请将book2替换为完整路径和文件名 - 副作用 - 这也将打开< / em>文件(如果尚未打开) 更多使用信息:http://msdn.microsoft.com/en-us/library/aa164798%28v=office.10%29.aspx