Ensure Addin is loaded properly by user - no double clicking

R

Rich

Hi,

I want to prevent users double-clicking to load my add-in. I would like a
warning to appear telling them how to install it properly.

I can detect whether Workbook_AddinInstall() has executed (code below),
which is great EXCEPT:
When the user opens excel with the add-in already installed, it does not
execute again, and my warning comes up.

Any ideas?

Thanks
Rich

Option Explicit
Dim AddInLoad As Boolean

Private Sub Workbook_AddinInstall()
AddInLoad = True
End Sub

Private Sub Workbook_Open()
If AddInLoad Then
If ThisWorkbook.IsAddin Then
MsgBox "add In - all cool"
Else
MsgBox "Not really sure if this is possible"
End If
Else
If ThisWorkbook.IsAddin Then
MsgBox "addin loaded badly, warning and exit"
Else
MsgBox "Spreadsheet only"
End If
End If
End Sub
 
P

Peter T

Hi Rich,

try something like this:

Private Sub Workbook_Open()
Dim oAdn As AddIn

On Error Resume Next
Set oAdn = AddIns(ThisWorkbook.Title)
On Error GoTo errH
If oAdn Is Nothing Then
Set oAdn = AddIns.Add(ThisWorkbook.FullName)
End If

If (Not oAdn.Installed) Then
oAdn.Installed = True
MsgBox ThisWorkbook.Title & " in Addin manager & checked"
Exit Sub

errH:
'something gone wrong !!
End Sub

Before saving, in thisworkbook properties temporarily set IsAddin to False.
In Excel goto File properties. Enter a friendly name in Title and a brief
description in Comments. Reset IsAddin to True.

Regards,
Peter T
 
R

Rich

Hey Peter, thans for the that, I was working on a similar track, but a bit
different, put the two together and I am (nearly) there, still a few things
to iron out, but looking good, thanks
 

Ask a Question

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.

Ask a Question

Top