Avatar billede keano Nybegynder
15. januar 2006 - 14:51 Der er 23 kommentarer og
1 løsning

VBscript til outlook save message body

Hejsa.
Jeg har brug for at få gemt nogle af min mails som txt filer.

Jeg har prøvet at finde et program der kan gøre det for mig, men indtil videre har jeg de programmer jeg har fundet kun været i stand til at gemme hele mailen som txt fil og jeg har kun behov for at gemme message body´en i filen. Subject, afsender osv. må altså ikke stå i filen.

I stedet for at finde et program der kan gøre det, er min plan nu at bruge rules wizard i oulook til at køre et script når der kommer en mail med et bestemt subject. Herudover skal scriptet selvfølgelig sørge for at filerne har forskellige navne, gamle filer må altså ikke blive overskrevet.

Er der nogen der ved hvor jeg kan finde et script jeg kan bruge eller måske vil lave det for mig.

På forhånd tak
Avatar billede killerclown Nybegynder
15. januar 2006 - 15:15 #1
Hey keano !
Jeg tror der er noget i denne stil, du leder efter.
Denne sub gemmer bodyen fra diin mail i en txt fil i mappen c:\mail
for, at der ikke kan være flere ens filer sætter jeg navnet på filen til,
at være "FRA - Emne - TIMESTAMP" :

Sub gemmail()
Dim strname As String
    Const ForAppending = 8
    Dim strdate As String
    Dim strafsender As String
    Dim fso As Object
    Dim myItems, myItem As Object
    Dim myort As String
    Dim myOlApp As New Outlook.Application
    Dim myOlExp As Outlook.Explorer
    Dim myOlSel As Outlook.Selection
    destdir = "c:\mail\"
    Set fso = CreateObject("scripting.filesystemobject")
    If Not fso.folderexists(destdir) Then
        fso.createfolder (destdir)
    End If
    Set myOlExp = myOlApp.ActiveExplorer
    Set myOlSel = myOlExp.Selection
    For Each myItem In myOlSel
    strafsender = myItem.SenderName
    strdate = Replace(myItem.SentOn, ":", "")
    strname = "Email fra " & strafsender & " - " & myItem.Subject
    strname = Replace(strname, "/", "-")
    strname = Replace(strname, "\", "-")
    strname = Replace(strname, ">", "-")
    strname = Replace(strname, "<", "-")
    strname = Replace(strname, "|", "-")
    strname = Replace(strname, ";", "-")
    strname = Replace(strname, ":", "-")
    strname = Replace(strname, "?", "-")
    strname = Replace(strname, "!", "-")
    strname = Replace(strname, ".", "-")
    strname = Replace(strname, Chr(34), " ")
    MsgBox (myItem.Body)
    file1 = destdir & strname & "_" & Replace(Now(), ":", "") & ".txt"
   
    MsgBox file1
    Set objfso = CreateObject("scripting.filesystemobject")
    Set fi = objfso.OpenTextFile(file1, ForAppending, True)
    fi.WriteLine (myItem.Body)
    Set fi = Nothing
    Next
End Sub

/Killer
Avatar billede keano Nybegynder
15. januar 2006 - 15:24 #2
Tjekker lige om jeg kan få det til at virke :-)
Avatar billede killerclown Nybegynder
15. januar 2006 - 15:27 #3
Forresten! Jeg er kommet til, at sætte filnavnet til, at være lige præcis de ting, du ikke ville have med (Skal til, at læse spm. færdigt før jeg svarer :o)  )

Du kan bare erstatte dem med timestamp eller hvad du nu har lyst til :o)
Avatar billede keano Nybegynder
15. januar 2006 - 16:22 #4
Jeg gør:

- sætter koden ind i Outlook's Visual Basic Editor under ThisOutlookSession
- forsøger at lave den regel jeg omtaler ovenfor

men når jeg vil tilføje scriptet til reglen fremgår scriptet ikke af oversigtet af scripts. Jeg ved ikke om det er mig der gør noget forkert?
Avatar billede killerclown Nybegynder
15. januar 2006 - 16:26 #5
Hmmm.
Hvis du skal kunne køre den fra reglerne ser det lidt anderledes ud ....
Jeg kigger lige på det
Avatar billede keano Nybegynder
15. januar 2006 - 16:28 #6
mange tak for det

grunden til at jeg vil køre det fra reglerne var fordi jeg tænkte det var det nemmeste. Det kan godt være at jeg ikke har ret i det :-)
Avatar billede killerclown Nybegynder
15. januar 2006 - 16:29 #7
Nøøøøh, du har sgu' egentlig ret.
Men husk, at det stadig kun vil virke, når du er logget på Outlook.
Dvs det ikke vil virke når din computer er slukket, og i kører Exchange server :o)

/Killer
Avatar billede killerclown Nybegynder
15. januar 2006 - 16:33 #8
OK !!
Her er lidt en hybrid af mit første script, og lidt godt fra MS hjemmeside
(http://support.microsoft.com/?kbid=306108)

:o)


Sub CustomMailMessageRule(Item As Outlook.MailItem)
Dim strname As String
    Const ForAppending = 8
    Dim strdate As String
    Dim fso As Object
    destdir = "c:\mail\"
    Set fso = CreateObject("scripting.filesystemobject")
    If Not fso.folderexists(destdir) Then
        fso.createfolder (destdir)
    End If
    strafsender = Item.SenderName
    strdate = Replace(Item.SentOn, ":", "")
    strname = "Email fra " & strafsender & " - " & Item.Subject
    strname = Replace(strname, "/", "-")
    strname = Replace(strname, "\", "-")
    strname = Replace(strname, ">", "-")
    strname = Replace(strname, "<", "-")
    strname = Replace(strname, "|", "-")
    strname = Replace(strname, ";", "-")
    strname = Replace(strname, ":", "-")
    strname = Replace(strname, "?", "-")
    strname = Replace(strname, "!", "-")
    strname = Replace(strname, ".", "-")
    strname = Replace(strname, Chr(34), " ")
    file1 = destdir & strname & "_" & Replace(Now(), ":", "") & ".txt"
    Set objfso = CreateObject("scripting.filesystemobject")
    Set fi = objfso.OpenTextFile(file1, ForAppending, True)
    fi.WriteLine (Item.Body)
    Set fi = Nothing
End Sub

/Killer
Avatar billede keano Nybegynder
15. januar 2006 - 17:10 #9
Tak for det sidste. Det virker dog stadig ikke. jeg tror dog ikke at det er koden det er galt med, uasnset hvilket script jeg forsøger at implementere(f.eks eksemplerne fra linket til microsoft) sker der ikke noget når der kommer en mail der opfylder den regel jeg har opsat.

Problemet må derfor være i at få outlook til at køre scripts. Jeg har forsøgt at fuske lidt med nogle security seetings og om antivirus, indtil videre uden held, men jeg kigger lige videre på det og giver besked når jeg har fundet ud af det.
Avatar billede killerclown Nybegynder
15. januar 2006 - 17:42 #10
okies :o)
Har du tjekket din makro sikkerhed ?
Avatar billede keano Nybegynder
15. januar 2006 - 17:57 #11
jeps :-)
Avatar billede killerclown Nybegynder
15. januar 2006 - 18:01 #12
Prøv lige igen, men uden at åbne mailen.
Dukker filen så op efter et par minutter ?
Avatar billede keano Nybegynder
15. januar 2006 - 18:03 #13
tjekker lige
Avatar billede keano Nybegynder
15. januar 2006 - 18:17 #14
Desværre stadig ingenting....virker det hos dig?
Avatar billede killerclown Nybegynder
15. januar 2006 - 18:34 #15
Ja, men det er lidt sært.
Ude på mit arb. virker det med det samme, men her hjemme virker det med ca 40 sek. forsinkelse :o)

/Killer
Avatar billede killerclown Nybegynder
15. januar 2006 - 18:40 #16
Nu virker den fino :o)
Det var nok fordi, jeg kørte  exchange i cache tilstand :o)
Avatar billede keano Nybegynder
15. januar 2006 - 18:42 #17
Ok, jamen så må jeg kunne løse det herfra - endnu en gang tak for hjælpen. Er lige væk et par timer. Kigger videre på det senere eller i morgen tidlig - f.eks på en anden maskine på arbejdet.
Avatar billede killerclown Nybegynder
15. januar 2006 - 18:43 #18
Kører du egentlig Exchange ?
Hvis du gør, så prøv, at sende til dig selv fra en andens konto/maskine.
Avatar billede keano Nybegynder
16. januar 2006 - 13:14 #19
Så virker det....ved ikke hvad forskellen er fra i går andet end at jeg sidder på arbejdet nu. (Samme maskine - laptop). MANGE TAK FOR HJÆLPEN!
Avatar billede killerclown Nybegynder
16. januar 2006 - 13:33 #20
Hehe ....
MS's veje er nogle gange uransalige :o)
Jeg synes nok også, at det burde virke ;)
/Killer
Avatar billede killerclown Nybegynder
24. januar 2006 - 09:36 #21
Aehm .. Jeg kunne ikke lokke dig til, at acceptere svaret, vel ?? ;)
Avatar billede killerclown Nybegynder
13. februar 2006 - 10:39 #22
Hey keano !

Du har ikke godkendt mit svar :o)

/Killer
Avatar billede keano Nybegynder
08. maj 2006 - 10:36 #23
Beklager forsinkelsen :-(
Avatar billede killerclown Nybegynder
08. maj 2006 - 15:39 #24
helt i orden :o)
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