如果未安装插件,Excel-VBA将显示警告

时间:2017-11-03 10:39:24

标签: excel vba excel-vba powerquery

我正在使用Excel 2013文件,我更新了该文件以使用PowerQuery更轻松地导入数据。

它已经使用了VBA宏,我希望包含一个带有下载PowerQuery链接的Warning / MsgBox(如果尚未安装)。

我如何检查主机系统上是否存在PowerQuery?

1 个答案:

答案 0 :(得分:3)

link我调整Rory的代码,我会提供类似以下的内容。注意:您可以使用Rory的附加代码来处理2016版本或更早版本,以确保是否已安装。

由于您无法直接使用超链接,我已修改了WiktorStribiżew的代码here,该代码允许用户在收到msgbox说未安装后单击“确定”转到下载站点。

Option Explicit

Private Sub IsPowerQueryAvailable()
    Dim downloadlink As String
    downloadlink = "https://www.microsoft.com/en-gb/download/details.aspx?id=39379"

    Dim bAvailable As Boolean

    If Application.Version >= 16 Then
        bAvailable = True
    Else
        On Error Resume Next
        bAvailable = Application.COMAddIns("Microsoft.Mashup.Client.Excel").Connect
        On Error GoTo 0
        If Not bAvailable Then DownloadPowerQuery downloadlink
    End If

End Sub

Private Sub DownloadPowerQuery(downloadlink As String)

    Dim objShell As Object
    Dim Message As String
    Dim Wscript As Object

    Set objShell = CreateObject("Wscript.Shell")

    Message = MsgBox("Would you like to download PowerQuery?", vbYesNo, "Powerquery not available")

    If Message = vbYes Then
        objShell.Run (downloadlink)
    Else
        Wscript.Quit
    End If

End Sub