2014-06-13 27 views

回答

3

你可以使用這樣的事情,因爲它是一個COM加載項:

Function IsPowerQueryAvailable() As Boolean 
    Dim bAvailable As Boolean 
    On Error Resume Next 
    bAvailable = Application.COMAddIns("Microsoft.Mashup.Client.Excel").Connect 
    On Error GoTo 0 
    IsPowerQueryAvailable = bAvailable 
End Function 

如果您真的想嘗試啓用它,並且它存在,您可以使用如下所示:

Function IsPowerQueryConnected() As Boolean 
    Dim bAvailable  As Boolean 
    Dim oPQ    As COMAddIn 
    On Error Resume Next 
    Set oPQ = Application.COMAddIns("Microsoft.Mashup.Client.Excel") 
    If Not oPQ Is Nothing Then 
     If Not oPQ.Connect Then oPQ.Connect = True 
     bAvailable = oPQ.Connect 
    End If 
    IsPowerQueryConnected = bAvailable 
End Function 
+0

由於你非常。 這是完美的工作。 此致敬禮。 – Matarx

0

如果插件被安裝,你可以檢查:

AddIns("AddInName").Installed 

即:

Sub Foo() 
If AddIns("AddIn name").Installed Then 
    'installed 
Else 
    'not installed 
End If 
End Sub 
+0

感謝您的意見。問題是「Microsoft Power Query for Excel」是一個COM加載項,並且與其他加載項不在同一位置。我最後測試文件位置存在:昏暗DirFile作爲字符串 DirFile = 「C:\ Windows \ System32下\ ccmcore.dll」 如果len(DIR(DirFile))<> 0則...端如果 Matarx