ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Ensure Addin is loaded properly by user - no double clicking (https://www.excelbanter.com/excel-programming/330077-ensure-addin-loaded-properly-user-no-double-clicking.html)

Rich[_27_]

Ensure Addin is loaded properly by user - no double clicking
 
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



Rich[_27_]

Ensure Addin is loaded properly by user - no double clicking
 
Oh go on, somebody must know _something_ ;)
Rich

"Rich" wrote in message
...
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





Peter T

Ensure Addin is loaded properly by user - no double clicking
 
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

"Rich" wrote in message
...
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





Rich[_27_]

Ensure Addin is loaded properly by user - no double clicking
 
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



"Peter T" <peter_t@discussions wrote in message
...
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

"Rich" wrote in message
...
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








All times are GMT +1. The time now is 10:56 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com