Excel添加加载宏后,在加载宏列表里出现加载宏的名称 但Excel没有提供清除加载宏的功能,虽然不影响使用,但看起来不爽。 只能手动清除: 去掉加载宏的勾 找到加载宏的文件重命名 重新勾选加载宏,这时Excel才提示,可以从加载宏列表中删除。
但从加载宏列表里看不到相关信息,找起来可麻烦了。
运行下面代码可以完成加载宏重命名, 再重新在勾选加载宏,就可以彻底清除了
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub ClearAddin() addinNM = "Test" '要清除的加载宏名称 s1 = AddIns(addinNM).FullName '加载宏的绝对路径 sPath = AddIns(addinNM).Path '加载宏所在文件夹 ars = Split(s1, "\") ars(UBound(ars)) = "已清除" & ars(UBound(ars)) s2 = Join(ars, "\") '重命名 AddIns(addinNM).Installed = False '去掉勾,郁闷的是AddIns集合也没提供Remonve方法 Name s1 As s2 ' 执行重命名 AddIns(addinNM).Installed = True 'API函数打加载宏所在文件夹,看看到底在哪 ShellExecute 0, "Open", sPath, "", "", 1 End Sub
[此贴子已经被作者于2008-3-16 9:50:09编辑过] |