我要在自定义选项卡上画龙点睛,我使用XML将其添加到Excel 2016 Ribbon中,但有一个我似乎无法过去的最终问题:通常,我似乎找不到Analysis组的idMso属性在“数据”标签中找到。为了使目标用户易于使用,我也想将“分析”组添加到我的自定义选项卡中。有关此问题的几个问题:
1)Analysis组的idMso属性是什么,以便可以将其添加到自定义标签中?
2)是否可以使用XML代码来确保始终将Data Analysis Tookpak添加到我的自定义Analysis组中?如果是这样,有人可以建议执行此操作的代码吗?
3)现在,我正在开发此代码以在Windows的Excel 2016上运行。但最终,我希望将此代码合并到Windows和Mac用户的外接程序中。此XML代码在Windows和Mac的Excel 2016中都可以使用吗?如果不是,是否可以在XML中使用条件逻辑并让代码测试操作系统是Windows还是Mac,然后运行适当的XML代码以将预期的自定义按钮和标准Excel组添加到我的自定义标签中?
答案 0 :(得分:0)
我发现此问题的方法是在安装外接程序后搜索FUNCRES.XLAM
按钮的supertip
中引用的文件名Data Analysis
。然后,我使用Custom UI Editor Tool打开文件以查看XML。我将示例文件保存在GitHub中。
您可以引用操作,但不能引用自定义xlam的控件,例如onAction="FUNCRES.XLAM!ShowATPDialog"
。
您可以使用以下XML将按钮添加到自定义组。仅供参考,仍必须加载插件才能使按钮起作用。
<button
id="btnDataAnalysisTools"
label="Data Analysis"
imageMso="XmlMapProperties"
onAction="FUNCRES.XLAM!ShowATPDialog"
size="large"
screentip="Data Analysis Tools"
supertip="Tools for financial and scientific data analysis. Referenced from FUNCRES.XLAM"
/>
2a。如果要在运行时加载加载项,可以使用以下选项。 Reference
Private Sub Workbook_Open()
Dim success As Boolean
Dim myAddIn As AddIn
' Load XLL
success = Application.RegisterXLL("c:\myaddins\myxll.xll")
' Load and install new XLAM
Set myAddIn = Application.AddIns.Add("c:\myaddins\myxlam.xlam")
myAddIn.Installed = True
' Load known XLAM
For Each myAddIn In AddIns
If myAddIn.Name = "myknownaddin.xlam" Then
myAddIn.Installed = False
myAddIn.Installed = True
End If
Next
End Sub