Outlook Addin - Tildele event til CommandButton
Jeg er ved at lave en Outlook Addin der skal kunne lave et menu punkt når der vælges en mappe med kontaktpersoner. Mit problem er nu at jeg generer hele min menu struktur udfra en XML fil. Problemet opstår så ved når jeg gennemløber filen(er på det tidspunkt blevet omdannet til et Array) så skal hvert menu punkt kalde en procedure der starter mit WordDok. Jeg kan dog overhovedet ikke få den til at fange events. Er der nogle der kan hjælpe??Jeg kan sige at når jeg sætter min kode ind i VBA i Outlook så spiller der 100% men det er IKKE en option da det skal kunne udrulles til mange folk hurtigt og uden reference pjat :-)
Håber der er nogle der kan hjælpe!!
VH CK
Koden:
Option Explicit
Dim Menus() As String
Dim paths() As String
Dim outlookApp As outlook.Application
Function StartWordDokument()
Dim wordApp As Word.Application
Set wordApp = New Word.Application
Dim dok As Word.Document
Set dok = wordApp.Documents.Add("D:\WordSkabeloner\brev.dot")
wordApp.Visible = True
dok.Bookmarks.item("Firmanavn").Select
wordApp.Selection.TypeText "Hujiii Hopsa"
dok.Bookmarks.item("Addresse").Select
wordApp.Selection.TypeText "Hujiii Addresse"
Set dok = Nothing
Set wordApp = Nothing
End Function
Sub removeControlBar()
Dim itm As CommandBarControl
For Each itm In outlookApp.ActiveExplorer.CommandBars("Menu Bar").Controls
If itm.Tag = "KontaktMenu" Then
itm.Delete
End If
Next
End Sub
Sub MenuKontrolStarter(AddInInst As Object)
Dim item As CommandBarControl
Dim valu As Variant
Dim NewBar As CommandBarPopup
Dim tool As CommandBar
Dim con As CommandBarComboBox
Dim counter As Integer
counter = 1
Set tool = outlookApp.ActiveExplorer.CommandBars("Menu Bar")
Set NewBar = tool.Controls.Add(msoControlPopup)
NewBar.Tag = "KontaktMenu"
NewBar.Caption = "Skabeloner"
readSetupFile
For Each valu In Menus
Set item = NewBar.Controls.Add(msoControlButton)
item.OnAction = "=StartWordDokument()"
item.Caption = valu
Next
Set item = Nothing
Set NewBar = Nothing
Set con = Nothing
Set tool = Nothing
End Sub
Sub readSetupFile()
Dim menuItem As Integer
Dim MenuPath As Integer
Dim param As IXMLDOMAttribute
Dim item As IXMLDOMNode
Dim root As IXMLDOMElement
Dim doc As DOMDocument
menuItem = 0
MenuPath = 0
Set doc = New DOMDocument
If doc.Load("D:\WordSkabeloner\setup.xml") Then
Set root = doc.documentElement
For Each item In root.childNodes
Set param = item.Attributes.item(0)
ReDim Preserve Menus(menuItem + 1)
Menus(menuItem) = param.Value
menuItem = menuItem + 1
Set param = item.Attributes.item(1)
ReDim Preserve paths(MenuPath + 1)
paths(MenuPath) = param.Value
MenuPath = MenuPath + 1
Next
End If
ReDim Preserve Menus(menuItem - 1)
ReDim Preserve paths(MenuPath - 1)
Set doc = Nothing
End Sub
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Set outlookApp = Application
MenuKontrolStarter AddInInst
End Sub
Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
removeControlBar
End Sub
