我正在尝试将按钮添加到我与我的大学分享的Personal.xlsb文件的用户界面。
我正在尝试使用http://www.rondebruin.nl/win/s2/win001.htm(UI编辑器添加自定义xml),但我的hometab上没有显示任何内容,所以我认为可能必须是fileformat是personal.xlsb和xlsm或?但我听说xlsb加载速度比xlsm快,所以我不想改变文件格式。知道如何在Excel中制作自定义菜单吗?
答案 0 :(得分:1)
你要做的是,
C:\Users\<username>\AppData\Roaming\Microsoft\AddIns\
现在无论何时打开Excel,该按钮都会显示在功能区中,直到您从Developer-&gt; Add-ins取消选中
注意:现在,如果你打开personal.xlsb,它会抛出一个错误,因为excel也会从personal.xlam文件加载你的personal.xlsb中的相同过程。所以从之后的personal.xlsb中删除宏程序
答案 1 :(得分:0)
迁移到xlam的问题是我无法在启动时获取本工作簿中的代码:
nRows = size(A,2) * 100;
out = sum(reshape(A.', nRows, []) ~= 0, 1) / nRows;
以及此声明无效:
Private Sub workBook_open()
Dim ExcelArgs As String
ExcelArgs = Environ("ExcelArgs")
Call deleteMacros.deletePersonalFiles
'MsgBox ExcelArgs
If UCase(ExcelArgs) = "CREO" Then
Application.DisplayAlerts = False
Call Creo.addNewPartToPartslist
Application.DisplayAlerts = True
End If
If InStr(UCase(ExcelArgs), "DOKLIST") >= 0 Then
Application.DisplayAlerts = False
Call ProsjektListen.dbDumpDocOut(Split(ExcelArgs, ",")(1))
Application.DisplayAlerts = True
End If
Set myHelper = New Helper
Call VersionControl.checkLatestVersion
Call Menu.toolBar
' temp = Split(Parameters.CmdLineToStr, "\")
' MsgBox Len(temp(UBound(temp)))
' If Len(temp(UBound(temp))) > 15 Then
' 'Call Creo.addNewPartToPartslist
' End If
'
On Error Resume Next
Call filter.Unhide_All_Columns
Sheets("List").Cells(1, 1).Select
End Sub
最简单的可能是保留personal.xlsb并添加addin文件,该文件只有按钮但是调用:Personal!runMyMacro,当它被按下时。