我正在尝试从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
答案 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 page,Set xlApp = GetObject("Book2").Application
将找到工作簿,即使它不在第一个实例中。如果工作簿来自文件或已保存,请将book2
替换为完整路径和文件名 - 副作用 - 这也将打开< / em>文件(如果尚未打开)
更多使用信息:http://msdn.microsoft.com/en-us/library/aa164798%28v=office.10%29.aspx