The add-ins are loaded when Excel starts up. What exactly do you mean by
'... loading of another Add-in when my workbook is open ..? Is the workbook
loading the addin through code or something?
--
HTH
RP
(remove nothere from the email address if mailing direct)
If you mean prevent someone using Tools \ AddIns to install an AddIN then
yes.
- Create a class module called cslApp
- Have this declaration at the top:
Public WithEvents AppEvents As Excel.Application
- In a normal module declare:
Public myEvents As New clsApp
- When you start your own AddIn load
Set myEvents.AppEvents = Excel.Application
-Place this in your clsApp module
Private Sub AppEvents_WorkbookAddinInstall(ByVal Wb As Workbook)
'enter you code here
End Sub
This will fire when someone tries to install an AddIn manually. You can then
close the workbook they installed. Although whether you'll make any friends
that way...
My add-ins are loaded at startup of Excel!
(or maybe not ... see my previous threat (loading/unloading Add-in
mystery => Personally I think it is a rather complicated "Command Line
Switch" issue ...maybe something else???)
My workbook is loading the Add-ins I need for this particular workbook
through code.
My question was on how to prevent loading ... other Add-ins (custom
and/or MS standard Add-ins) which this workbook does not need.
HTH, Sige
(Can only access the Newsgroup through the Internet so my response(s)
may lag a bit .. sorry for that!)
I managed to make no friends ... ;o)
Can I create ennemies? )
=>I still have the possibility to load an Add-in, i.e. I can double
click an xla ... and run the respective xla. Ok, you can't set it up
anymore in Tool=>Add-in ...
But I would prefer not to "load" (activate) ANY Add-ins anymore (to a
restricted nr of users btw) besides the ones I am "loading"
(activating).
If you were to place in your AddIn's Workbook Open Event (or maybe better,
in a procedure that remembers, the first time it was run) a routine that
does the following:
'--------------------
Private myAddins() as string
Sub UninstallAllAddins()
Dim AI As AddIn
Dim i as integer
Redim myAddins(0)
For Each AI In AddIns
'you might need to check it's not your own
'haven't tried:
' if not thisworkbook.name = AI.name
'for example
If AI.Installed Then
myaddins(i ) = AI.FullName
i = i +1
redim preserve myaddins(i)
AI.Installed = False
End If
Next AI
End Sub
'------------
Then, when your workbook closes reinstall everything you
uninstalled.'---------
Sub ReinstallAddins
do while not myaddins(i) = ""
Application.AddIns.Add Filename:=myaddins(i), copyfile:=False
i = i +1
Loop
Application.AddIns.Add Filename:=mypath, copyfile:=False
End Sub
But I have to say again... this won't make you many friends!
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.