Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This happens installing and uninstalling Add-In in Excel via VBA/vbscript:
Installing: ====== 1) When you add an Add-In via VBA/VBScript using 'Application.AddIns.Add <file, CopyFile := True' and the source file is on a local drive, the Add-In is linked to Excel but not copied. 2) When you add an Add-In via VBA/VBScript using 'Application.AddIns.Add <file, CopyFile := True' and the source file is *NOT* on a local drive, the Add-In is linked to Excel after being copied to the '%AppData%\Microsoft\AddIns' folder In both cases you end up with an entry called "OPEN" (evt. followed by a number) under "HKCU\Software\Microsoft\Office\<Version\Excel\Op tions" that contains: a) the full path for 1) b) only the name of the file for 2) Uninstalling: ====== The only way to uninstall via VBA/VBScript is using 'Application.AddIns(<ref).Installed = False'. However, the file remains 'visible' to Excel. 1) If the source file was *NOT* copied, the Add-In entry "OPEN" under "HKCU\Software\Microsoft\Office\<Version\Excel\Op tions" is removed and another one is created under "HKCU\Software\Microsoft\Office\<Version\Excel\Ad d-in Manager" but having, as a registry value, the full name of the file (for instance "C:\My Folder\MyAddIn.xla") 2) If the source file was copied to the 'AppData' folder, the Add-In entry "OPEN" under "HKCU\Software\Microsoft\Office\<Version\Excel\Op tions" is removed. *NO* extra entry is created under "HKCU\Software\Microsoft\Office\<Version\Excel\Ad d-in Manager" Removing the Add-In ====== 1) The file needs to be 'unRegistered'. Since 'Wscript.Shell' object cannot handle the backslash '\' character, the only way to remove it is by using WMI statements Const HKEY_CURRENT_USER = &H80000001 ExcelRegistryKey = "Software\Microsoft\Office\<Version\Excel\Add-in Manager" Set WmiRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv") Result = WmiRegistry.DeleteValue(HKEY_CURRENT_USER, ExcelRegistryKey, "C:\My Folder\MyAddIn.xla") The file does not have to be removed physically. Excel will not find it anymore. 2) The file must be physically removed from the 'AppData' folder; this can be done with the '.DeleteFile' method of a 'FileSystemObject'. Hope this helps |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Subtotals Deleting Rows after removing Subtotal - 2003 Excel | Excel Worksheet Functions | |||
Removing custom toolbar from Excel 2003 | Excel Discussion (Misc queries) | |||
Using Excel 2003 SP1 - Removing a VBA module closes Excel | Excel Programming | |||
Programmatically inserting a row with Excel 2003 | Excel Programming | |||
Removing Checkboxes Programmatically | Excel Programming |