Cancel Addin Install from Workbook_AddinInstall?
Hi Dave,
Need to bear in mind that the AddinInstall event fires before the addin
actually gets installed. So let that pass then uninstall after, eg
Private Sub Workbook_AddinInstall()
'If some condition that disallows install then
Application.OnTime Now, "UninstallMe"
'End if
End Sub
' in a normal module
Sub UninstallMe()
MsgBox "Don't install me agian ! " _
& ThisWorkbook.Name, , "Bye"
Application.AddIns(ThisWorkbook.Title).Installed = False
End Sub
..Title requires your title in Properties Summary Title
Alternatively loop through the collection looking for thisworkbook.name
The addin will close and not load next time. Though not installed it may
remain in the addins collection, conveniently waiting for user to tick it
again without having to Browse to. Could be a little or lot more work to get
rid of all trace of it.
Regards,
Peter T
"Dave Ramage" wrote in message
...
Hello,
Can anyone tell me if/how it is possible to cancel the installation of an
addin from either Workbook_Open or Workbook_AddinInstall?
I want to prevent users from installing an addin file if it located on a
network drive. The problem is that once the user has started the
installation
process (either by double clicking the file in explorer or through
Tools/Iddins), it seems difficult to stop by VBA code!
This is what I've tried so far:
Private Sub Workbook_AddinInstall()
Dim a As AddIn
If OnNetworkDrive(Thisworkbook.FullName) Then 'returns true if file is
on
network drive
Thisworkbook.Close
For Each a In Application.AddIns
If a.Name = ThisWorkbook.Name Then
a.Installed = False
End If
Next a
Exit Sub
End If
'goes on to install menus etc.
End Sub
This closes the addin workbook OK, but does not prevent the addin being
installed- i.e. next time Excel is started, the add-in is loaded.
Thanks,
Dave
|