Avatar billede saganilsen Nybegynder
15. maj 2003 - 00:55 Der er 9 kommentarer og
1 løsning

behandle mottak via VBa

Hei kjære eksperter, jeg har et lite problem....

Jeg vil lage et VBa-script som sjekker emnet i siste mottatte epost.
Avhengig av om eposten inneholder et spesifikt ord skal eposten enten lagres i en FYSISK MAPPE på hardisken ( IKKE undermappe i Outlook ! ) eller plasseres i inbox`en.

Dette haster selvfølgelig og jeg er derfor rundhåndet med points..... 200 til den som fikser det! :-)
Avatar billede yeaz Nybegynder
15. maj 2003 - 01:03 #1
Er det ikke bedre med "ini.cue"?
Det har jeg i hvert tilfælde haft bedst succes med!
Avatar billede saganilsen Nybegynder
15. maj 2003 - 02:56 #2
eh.... hæ? ini.cue er ukjent for meg...
Avatar billede Slettet bruger
15. maj 2003 - 11:02 #3
Prøv denne her...
-------------------------

Public Sub GetSubject()

    On Error GoTo ErrorHandler
   
    Dim myOlApp As Outlook.Application
    Set myOlApp = Application
   
    Dim myFolder As Outlook.MAPIFolder
    Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
   
    Dim myMail As MailItem
    Set myMail = myFolder.Items.GetLast
   
    searchString = "Hello"
    Directory = "F:\Attachments\"
   
    Dim filnavn As String
       
    If TypeName(myMail) = "MailItem" Then
        If ((InStr(1, myMail.Subject, searchString, vbTextCompare)) >= 1) Then
            filnavn = Directory & myMail.Subject & ".msg"
            myMail.SaveAs filnavn, olTXT
        Else
            'Lad den blive i Inbox
        End If
       
    End If
    Exit Sub
   
ErrorHandler:
    Debug.Print Err.Description & " " & Err.Number & " " & Err.Source
    Exit Sub
   
End Sub

--------------------------------

Det eneste problem er at Outlook brokker sig over sikkerheden når man prøver at gemme.....men det må også kunne løses.
Det er ihvertfald en start...
Avatar billede Slettet bruger
15. maj 2003 - 11:04 #4
Hvis den skal aktiveres hver gang der kommer en ny mail, skal du placere den i New_mail event koden...

Private Sub Application_NewMail()
    Call Module1.GetSubject("Hello", "F:\Attachments\")
End Sub
Avatar billede Slettet bruger
15. maj 2003 - 11:04 #5
rettelse...

Private Sub Application_NewMail()
    Call Module1.GetSubject()
End Sub
Avatar billede saganilsen Nybegynder
15. maj 2003 - 17:54 #6
Mange takk blackadder. Ting fungerer nå knirkefritt takket være deg.

legg inn som svar, og så er poengene dine :-)
Avatar billede saganilsen Nybegynder
15. maj 2003 - 17:57 #7
eh, kom på en liten mulig forbedring, blackadder...

kan filene som lagres i "F:\attachments" nummereres stigende? slik at hvis det ligger 3 ".msg" filer der så blir neste hetende "4.msg" osv... ?
Avatar billede Slettet bruger
16. maj 2003 - 13:57 #8
Ja, smid denne funktion ind i VB modulet

--------------
Function countFilesInDir(Directory As String) As Long
    Dim i As Integer
    Dim MyFile
    ChDir Directory
    MyFile = Dir(Directory & "*.*")
    i = 0
    While (MyFile <> "")
        i = i + 1
        MyFile = Dir()
    Wend
    countFilesInDir = i
End Function
----------------------------

og opdater GetSubject til...

---------------------

Public Sub GetSubject()

    On Error GoTo ErrorHandler
   
    Dim myOlApp As Outlook.Application
    Set myOlApp = Application
   
    Dim myFolder As Outlook.MAPIFolder
    Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
   
    Dim myMail As MailItem
    Set myMail = myFolder.Items.GetLast
   
    Dim Directory As String, searchString As String
   
    searchString = "Hello"
    Directory = "F:\Attachments\"
       
    Dim filnavn As String
       
    If TypeName(myMail) = "MailItem" Then
        If ((InStr(1, myMail.Subject, searchString, vbTextCompare)) >= 1) Then
            filnavn = Directory & countFilesInDir(Directory) + 1 & ".msg"
            myMail.SaveAs filnavn, olTXT
            Debug.Print filnavn
        Else
            'Lad den blive i Inbox
        End If
       
    End If
    Exit Sub
   
ErrorHandler:
    Debug.Print Err.Description & " " & Err.Number & " " & Err.Source
    Exit Sub
   
End Sub

----------------------------
Avatar billede saganilsen Nybegynder
16. maj 2003 - 16:07 #9
veldig bra. detta kan du :-)

jobber du med vb/vba?
Avatar billede Slettet bruger
16. maj 2003 - 22:44 #10
Jeg skrev lidt VBA til Excel/Groupwise/Reflection for en tidligere arbejdsgiver, ellers er det kun her på Eksperten.

Tak for point :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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