Hi, all!
I have 2 COMAddIns in my application one for Word, another is for Outlook. The provided functionality almost the same and everything works fine. Until Outlook doesn't use Word as application for view/edit e-mail. In this case I have some problems with showing modal windows ... Probably it will be next topic for this forum.
So, as I already no, COMAddIn can be retrieved from Application.COMAddIns collection (e.g. by name):
COMAddIn has property Object which pretend to transmit some callback interface. AddInInstance_OnConnection gets COMAddIn object as argument, so it appears to be possible to make something like this:Code:Function GetMyAddIn() As comAddin For i = 1 To Me.Application.COMAddIns.Count If Me.Application.COMAddIns(i).Description = "atriplex' AddIn" Then Set GetTrinityAddIn = Me.Application.COMAddIns(i) Exit Function End If Next End Function
But it doesn't workCode:Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant) ' ... Dim addInObject As COMAddIn Set addInObject = AddInInst Set addInObject.Object = Me ' .... End SubObject can not be assigned and always Nothing!
My questions are
Is it possible to invoke some public method of COMAddIn class from Word, without instantiating it again (I can't use another instance)?
And what is this COMAddIn.Object used for?
MSDN doesn't get any good answer ...
FYI: I use MS Office 11.x (2003) with SP2
Thank you in advance!




Object can not be assigned and always Nothing!
Reply With Quote