如果未安装插件,Excel-VBA 会显示警告
Posted
技术标签:
【中文标题】如果未安装插件,Excel-VBA 会显示警告【英文标题】:Excel-VBA show Warning if Addon is not Installed 【发布时间】:2017-11-03 10:39:24 【问题描述】:我正在使用 Excel 2013 文件,该文件由我更新以使用 PowerQuery 更轻松地导入数据。
它已经使用了 VBA 宏,如果尚未安装,我想包含一个带有下载 PowerQuery 链接的警告/消息框。
如何检查主机系统上是否存在 PowerQuery?
【问题讨论】:
您可能需要额外的版本检查,因为 2016 及更高版本将默认包含 PowerQuery ***.com/questions/24201107/… 的可能副本,然后您只需添加一个带有下载链接的 msgbox @QHarr 提供的链接中的解决方案效果很好。但是 2016 年的版本检查还需要吗? 【参考方案1】:Rory 在link 上修改代码,我提供了类似以下的内容。注意:您可以使用 Rory 的附加代码来处理 2016 版本或更早的版本,确保已安装。
由于您不能直接使用超链接,我已经修改了 Wiktor Stribiż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
【讨论】:
只有在 bAvailable 为 false 时才应执行下载。否则,这是一个完美的工作示例。谢谢 @d3rdon 编辑所以希望能按预期进行以上是关于如果未安装插件,Excel-VBA 会显示警告的主要内容,如果未能解决你的问题,请参考以下文章
警告:无法在 React 本机中对未安装的组件执行 React 状态更新
有人会用ppt插件吗?我安装了islide插件不能用?显示啥引用设置未到对象实例