installing an addin

D

drumerboy

I am trying a very simple code for adding a control, named Markov, i
Tools and linking it to a macro when the addin is installed.

Private Sub Workbook_AddinInstall()
With Application.CommandBars("Tools").Controls.Add
.Caption = "Markov"
.OnAction = "markov"
End With
End Sub

The big problem is that after installation nothing happens.
If I go in VB Editor and click Run the control Markov is added an
every thing is going well then. I have tried many other examples but i
all the same. The addin appears in the addins manager and it works fin
if I fire the run button but not at the installation event.

Thanks a lot
 
B

Bob Phillips

If that control is not within the addin itself, I think you need to link the
control to a macro in the same workbook, and have that macro use
Application.Run to call the addin macro.

Private Sub Workbook_AddinInstall()
With Application.CommandBars("Tools").Controls.Add
Caption = "Markov"
OnAction = "call_markov"
End With
End Sub

and then in a standrad code module

Public Sub call_markov()
Application.Run "myAddin.xla!markov"
End Sub

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 
D

drumerboy

Thank you very much Bob!
I have succeded to do it. The answer was simpler then we have thought:
"The Private Sub Workbook_AddinInstall() ....End sub" has to be
written *after a double click on ThisWorkbook in VB Editor and not in a
normal module*. It was simle but I didn't know this.
Thank you anyway, you were the onlyone who tryed to help me at this
point.
 
B

Bob Phillips

Oh, didn't realise you had put it there. I would have told you if I had
realised <bg>.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 
B

basilio

sorry to interfere. I have the same problem but I did not understand much of
your discussion on how to activate an addin. in fact I have saved a workbook
woth some macros in as an AddIn, but I don't know the way to activate them.
Can you help me ??
--
Basilio


Bob Phillips said:
If that control is not within the addin itself, I think you need to link the
control to a macro in the same workbook, and have that macro use
Application.Run to call the addin macro.

Private Sub Workbook_AddinInstall()
With Application.CommandBars("Tools").Controls.Add
Caption = "Markov"
OnAction = "call_markov"
End With
End Sub

and then in a standrad code module

Public Sub call_markov()
Application.Run "myAddin.xla!markov"
End Sub

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 

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