Avatar billede kedde65 Praktikant
23. april 2003 - 20:43 Der er 1 kommentar og
1 løsning

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
Avatar billede kedde65 Praktikant
21. maj 2003 - 22:08 #1
Nå der var ikke lige nogle der kunne hjælpe her :-)

Lukker og slukker.

VH CK
Avatar billede jobless Nybegynder
29. maj 2003 - 21:28 #2
Har du fået løst problemet?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester