18. april 2005 - 13:46Der er
29 kommentarer og 1 løsning
E-mail format for at detache excel-fil
Jeg får dagligt en mail, hvor der er vedhæftet en excel-fil. Denne excel-fil skal jeg bruge i et program. Jeg mangler en rutine til -automatisk- at lagre den vedhæftede fil på harddisken. Jeg forsøgte med strategi 1, som skulle gøre det direkte i Outlook (se http://www.eksperten.dk/spm/561909). I mellemtiden har jeg fundet på en anden strategi: Hvis mail-formatet var standard (og det må det vel være), så er der vel også en standard for, hvor vedlagte filer er. Altså:
E-mail={Headers}{Subject}{Text}{Attachments} eller lignende. Kender nogen formatet eller kan hjælpe iøvrigt?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
I selve Indbakke.dbx filen står følgende lige før den vedhæftede fil: ------=_NextPart_000_0866_01C52A26.D9DA1880 Content-Ty ûr ýrpe: text/html; name="114-10189167.HTM" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="114-10189167.HTM"
Selve filen starter med // og slutter med =
Men jeg lurer lidt på "Content-Transfer-Encoding: base64", og det kunne tyde på, at den er encoded, og du dermed ikke bare kan "si" alt mellem // og = fra.
Der er ikke noget der hedder indbakke dbx i outlook, der er kun en fil nemlig outlook.pst og jeg vil mene du er tættere på en løsning med det du har i den anden tråd.....
Nu har jeg prøvet at importere mine mails til Outlook, og når jeg kikker i pst filen, så er der kun volapyk.
Du kunne også oprette en regel, som gemmer mails med vedhæftninger i en mappe for sig, og så, som nævnt i din anden tråd, opretter en makro, som finder alle vedhæftede filer der ender på .xls og gemmer vedhæftningerne hvor du gerne vil have det ?
Ja, det hele kan hard-kodes, evt. som det eneste, der kommer ind i den mappe, hvis det kan hjælpe. Og der er ALTID kun én excel-fil, som oven i købet hedder det samme hver dag.
Jeg rendte lige over den der :) den koster godt nok.... Hvad er det for en OL du bruger ? Jeg har 2k3 og har fundet ud af at man kan lave det med en regl her i..... Det vil sige i reglen kan du få den til at kører et script så nu skal jeg ha lavet scriptet
Skal den forblive ulæst eller skal den markere den som læst ? Skal den kun gemme xls filer (jeg syntes det er bedst så der ikke kommer script filer og virus med) ? Hvad hedder den mappe den skal ligge dem i (fuld sti f.eks. c:\vedhaeftedefiler\ ?
1. Læst/ulæst: Pyt 2. Kun én xls-fil 3. c:\vedhaeftedefiler\ er udmærket, så kan jeg bare ændre det selv. Jeg kører xpsp2, med w2000. Hvis det er nemmere i 2003, så må jeg vente med at teste.
Det er vist det samme efter hvad jeg har fundet ud af..... Har kommenteret det så du ved hvor du kan ændre noget:
Option Explicit Sub SaveAttachmentMessageRule(Item As Outlook.MailItem) 'Save bibloteket SKAL eksistere gør det ikke så opret det, c:\attachment\ ændres til den ønskede sti. Const Save_dir = "c:\attachment\" Const process_attachments_program = "C:\Perl\bin\perl.exe C:\bin\got-data.pl" 'Const er en konstant der hedder filtype xls, har lavet et eksempel mere som er udkommenteret med word 'filer, bare fjern udkommenteringen så kører den med wordfiler og så kan du se hvordan du selv tilføjer flere. Const Ext1 = "xls" 'Const Ext2 = "doc" Dim Filename As String Dim Attach As Attachment Dim i As Integer
i = 0 If Item.UnRead = True Then For Each Attach In Item.Attachments 'Her chekkes om det er en xls fil eller noget andet, den gemmer KUN xls filer. 'Den næste linie er udkommenteret men den giver igen en ide om hvordan flere tilføjes. 'If Right(Attach.Filename, 3) = Ext1 Or ext2 Then If Right(Attach.Filename, 3) = Ext1 Then 'Da du siger du modtager 1 om dagen har jeg lavet så den sætter dato foran da de jo ellers hedder det samme. Filename = Save_dir & Date & " - " & Attach.Filename Attach.SaveAsFile Filename i = i + 1 End If Next Attach 'Her sættes om mailen er læst eller ej, ændre false til true og den forbliver ulæst Item.UnRead = False End If 'Her tømmes variablen. Set Attach = Nothing 'Her kører den til der ikke er flere attachments. If i > 0 Then 'Her gammer den de attachments der er, her må IKKE ændres Shell process_attachments_program End If End Sub
Du siger du vil lave en macro og paster koden ind og vælger du vil gemme den. Derefter laver du en regl på den afsender som sender mail til dig, og siger den skal chekke mails når de ankommer, og run script og peger på navnet på den macro du gemte så skulle den kører.....
HUSK at lave mappen filerne skal i inden du laver reglen
Ja, hvor ser det simpelt ud, når man kender de små finter. Hvordan får jeg reglen til at starte rutinen? Jeg kan kun starte et program.. Det er Outlook 2000.
Yes; den er dansk, så den hedder 'udfør brugerdefineret handling'. Jeg skal så vælge en handling, men har ingen at vælge. Jeg har prøvet at lave en makro, men den kan ikke køre den, fordi makroer ikke er "enabled". What to do?
ja så er du nød til at enable macros.... det er dog lidt skod.....
I office 2k3 der er der forskellige security levels på macroer, der kan man styre det det kan man vist ikke i 2000 :( Ellers må alternativet være et program ved siden af der kan gøre det..... vil kigge lidt på det senere
Der er flere nice features der i..... Blandt andet sorteres mail op i flere mapper. De ligger self i de mapper du siger de skal ligges i. Der er dog en mappe der hedder large mails (det er dem der fylder over x antal kb) Så er der unread, altså der vises alle ulæste mails selv om de ligger i 10 forskellige mapper.
og så findeler den mails, hvis du f.eks. siger de skal sorteres faldende efter sidste modtagne så alle dem der er fra "idag" ligger i en gruppe, og "igår" i en anden, "en uge siden" og "en måned" og til sidst "gamle"
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.