27. september 2005 - 07:12Der er
8 kommentarer og 1 løsning
Kalde en formular via en makro i Outlook
Jeg vil gerne have en knap i min Outlook menulinje, som kalder en formular, jeg selv har oprettet. Jeg er kommet så vidt, at det må kunne løses vha en makro, men i Outlook skal man selv skrive koden og det er ikke let for en VBA-analfabet.
Har nogen løsningen til, hvad jeg skal skrive for at lave min knap?
Outlook vinduet - tryk Alt + F8 - eller Funktioner/Makro/Opret en makro - f.eks. med navnet "StartForm"
- Der åbnes nu til VBA - i den SUB, der vises - indsættes følgende:
Sub StartForm() load userform1 userform1.show End SUB
- - -
Tilbage til OutLook-vinduet: - højreklik på værktøjslinjen -- Tilpas --- Makroer - fanebladet Kommandoer ---- Vælg makroen StartForm - træk den op til værktøjslinien
Det var ikke den helt store success. Det skyldes sikkert, at jeg ikke bare kan skrive din kode og erstatte userform1 med navnet på min formular. Var det da bare muligt at tilføje formularen i menulinjen direkte, så jeg kunne slippe for det VBA-pjat.
Nej du kan ikke slippe for det "VBA Pjat", men for at få den kode til at virke skal du blot fjerne den første linie så din makro består af
Sub StartForm() userform1.show End SUB
Hvor userform1, ganske rigtigt er navet på din formular.
herefter vender du tilbage til Outlook, og klikker i menuen Funktioner - tilpas
I den fremkomne boks, vælger du det miderste faneblad og gå i boksen til venstre ned til det punkt der hedder "Makroer". Herefter kan du i højre side se at der fremkommer en liste over de makroer du har i din Outlook. Makroen StartForm skulle gerne være der og du kan trække den op på værktøjslinien.
Jeg er helt med på, hvordan man får makroknappen frem i menulinjen - problemet er, at den ikke kalder den formular, jeg har lavet. Formularen ligger i mit privatformularbibliotek og min makro ser således ud:
ahhhhhh, det er en Outlook formular og IKKE en Outlook VBA formular :-) Så er det en helt andet sag .-)
Sub startFormular Dim myNameSpace As NameSpace Dim myFolder As MAPIFolder Dim myItems As Items Dim myItem As Object
Set myNameSpace = Application.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox) Set myItems = myFolder.Items Set myItem = myItems.Add("IPM.note.telefonbesked") myItem.Display
Set myNameSpace = Nothing Set myFolder = Nothing Set myItems = Nothing Set myItem = Nothing end Sub
Hvor denne IPM.note.telefonbesked afhænger af hvilken type din Outlook formular er bygget over, samt navnet på den. Hvis den hedder telefonbesked og er bygget over Mailitem templaten, så kan denne bruges direkte.
Selvfølgelig virker det :) Outlook er jo et genialt program, man skal bare lære at styre det :--) Du spørger bare igen, hvis der skulle være mere
VH CK
Synes godt om
Ny brugerNybegynder
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.