1

Outlook (Office 2010) から Excel ファイルを更新しようとしています。Excel を参照してアクセスするにはどうすればよいですか?

簡単なテストとして、開いているブックの数を数えようとしています。これを実行すると、2 つ開いているにもかかわらず、0 が返されます。

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 / library / aa164798%28v = office.10%29.aspx

于 2012-06-26T13:58:34.227 に答える