Avatar billede masteraaen Novice
23. juni 2011 - 22:25 Der er 6 kommentarer og
1 løsning

Outlook 2010 macro - gem i word

Hej.

Er der nogen, der kan finde ud af outlook 2010 vba? Det er lidt svært at få hul på, synes jeg.

Jeg har brug for en makro, der kan

1. Vælge alt indhold i den markerede mail.
2. Åbne Word - et tomt dokument.
3. Paste teksten til det tomme worddokument.
4. Trykke "Gem" i word - så profilering kommer op (den skal ikke gemme færdig, blot så man kommer frem til at skulle vælge bibliotek, filnavn osv.

Er der nogen, der kan hjælpe med ovenstående?



Tilføjelse: Kan man, hvis man vil gemme en sendt mail, få "dato- modtager (mfl.) - angivelserne" med?
Avatar billede pstidsen Novice
23. juni 2011 - 22:35 #1
Hvad med at gemme emailen som en e-mail fil?? (kan ik huske hvad det hedder i Outlook)
Avatar billede masteraaen Novice
23. juni 2011 - 22:53 #2
Det skal være til word, fordi vores dokumenthåndteringssystem kun er direkte integreret med word og med excel, hvor der popper en større profileringssag op, når der trykkes gem i word eller excel-dokumenter.

Den integration kan jeg ikke få med Outlook (det er et gammelt program), så jeg bliver nødt til at få det over i word og så gemme indholdet på den måde...
Avatar billede supertekst Ekspert
23. juni 2011 - 23:18 #3
Kunne man forestille sig at udgangspunkt i Word, hvor såvel mapper og mailitems kunne vælges?
Avatar billede Lene Fredborg Ekspert
24. juni 2011 - 15:04 #4
Jeg har ikke lavet meget VBA til Outlook men voldsomt meget til Word. Men jeg har nu lavet nedenstående makro, som skulle gøre det, du ønsker - virker i hvert tilfælde hos mig i Outlook 2010. Du kan så bygge videre på den.

Se kommentarerne i selve makroen. De forskellige indholdsdele, der er indsat, kan findes i VBA-hjælp under "PostItem Object Members". Så kan du jo finde dem, du vil bruge.


Sub CreateWordDocFromEmail()
   
    Dim oDoc As Object
    Dim strMailText As String
    Dim oWord As Object
    Dim oMailItem As Object
    Dim strTitle As String
    '=========================
   
    On Error GoTo ErrorHandler
   
    strTitle = "Overfør tekts fra aktive mail til Word"
   
    'get Word - errorhandler opens Word if not running
    Set oWord = GetObject(, "Word.Application")
    '=========================
    'mail item = active mail
    Set oMailItem = ActiveInspector.CurrentItem
   
    'store Body in variable
    With oMailItem
        strMailText = .Body
   
        'add Subject
        strMailText = strMailText & vbCr & "Emne: " & .Subject
        'add date
        strMailText = strMailText & vbCr & "Oprettet: " & .CreationTime
        'add received timed
        strMailText = strMailText & vbCr & "Modtaget: " & .ReceivedTime
        'add To
        strMailText = strMailText & vbCr & "Til: " & .To
        'add From (name and e-mail)
        strMailText = strMailText & vbCr & "Fra - navn: " & .SenderName
        strMailText = strMailText & vbCr & "Fra - e-mail: " & .SenderEmailAddress
    End With
       
   
    'create Word document and insert text
    Set oDoc = oWord.documents.Add
    With oDoc
        .Range.Text = strMailText
       
        .Activate
        oWord.dialogs(84).Show '84 = dialogboksen wdDialogFileSaveAs
    End With

    '=========================
ExitIfError:
    'clean up
    Set oWord = Nothing
    Set oMailItem = Nothing
    Exit Sub
'=========================
ErrorHandler:
    If Err.Number = 429 Then 'Word not running, start now
        Set oWord = CreateObject("Word.Application")
        Resume Next
    ElseIf Err.Number = 91 Then
        MsgBox "Du skal åbne den e-mail, som skal overføres til Word.", vbOKOnly + vbExclamation, strTitle
        Err.Clear
        GoTo ExitIfError
    Else
        MsgBox "Der opstod en fejl.", vbOKOnly + vbExclamation, strTitle
        Err.Clear
        GoTo ExitIfError
    End If
End Sub
Avatar billede masteraaen Novice
28. juli 2011 - 10:34 #5
Lene: den du har lavet ovenfor virker rigtig rigtig godt.
Du må meget gerne lave et svar.

Eneste hurdle p.t. er, at den ikke ser ud til at slippe dokumentet helt. For når jeg forsøger at åbne dokumentet igen, så fortæller den mig, at filen fortsat benyttes af programmet.... (og word ligger så åben i processer (jobliste), men ses ikke åben på proceslinien i windows)....
Avatar billede Lene Fredborg Ekspert
28. juli 2011 - 11:23 #6
Jeg har ikke i koden indbygget noget, som lukker Word eller lukker dokumentet, der oprettes. Det kan du jo gøre, hvis du har brug for det.

F.eks.:
Efter linjen med oWord.dialogs(84).Show kan du indsætte følgende linjer:
oDoc.Close 'lukker dokumentet - hvis det ikke er gemt, vil du blive spurgt, om du vil gemme
oWord.Quit 'afslutter Word

Men hvis du skal køre makroen flere gange efter hinanden, er der jo ingen grund til at lukke Word imellem.
Avatar billede masteraaen Novice
01. august 2011 - 22:21 #7
Tusinde tak for hjælpen!
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