Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Jobba med subfolders i Outlook 2013

Postades av 2014-07-03 14:09:29 - Nick Alzen, i forum microsoft office, Tråden har 6 Kommentarer och lästs av 2804 personer

Hej hej,

Jag har gjort ett program i Outlook VBA som skall räkna ut responsetiden för emails, loopar igenom dessa o skriver ut dem sen i Excel.

Det funkar om jag inte har några underkataloger. Men jag vill att alla mail i subkataloger skall skrivas ut också oavsett hur många subkataloger.

Typ som:

Inbox
Folder1
Folder1B
Folder1C
Folder2
...osv
Så det kan vara hur många subfoldrar som helst i Folder1...ja ni fattar.

Den kod som jag kör på nu ser ut så här.

'Start Outlook
Set myOlApp = Outlook.Application
Set myNamespace = myOlApp.GetNamespace("mapi")
Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
Set myfolders = myfolder.Folders

'Loop through all email items in Outlook
'Alltså det är här som jag vill att den skall gå igenom alla underkataloger enligt ovan beskrivning.
'Jag antar att man måste ha en Foreach myfolder in myfolders
For i = 1 To myfolder.Items.Count
Set myitem = myfolder.Items(i)


'Move data from Outlook to Excel
xlobj.Range("a" & i + 1).Value = Format(myitem.SentOn, "h:mm:ss")
xlobj.Range("b" & i + 1).Value = Format(myitem.ReceivedTime, "h:mm:ss")
xlobj.Range("c" & i + 1).Value = Format(xlobj.Range("b" & i + 1) - xlobj.Range("a" & i + 1), "h:mm:ss")

Next

Anyone?

Mvh
Nick


Svara

Sv: Jobba med subfolders i Outlook 2013

Postades av 2014-07-03 21:10:29 - Pelle Johansson

Hej, du får arbeta med att i din loop kolla om objektet är ett mail eller en katalog. Om det är en katalog så behöver du peka dig i i den katalogen och loopa igenom alla poster , osv. Detta brukar kallas rekursiv loop. Denna kod kanske kan hjälpa dig.

Dim oFolder, cMessages, oMailItem
 Set oFolder = fGetOLFolder("Mailbox - John Doe\Inbox\MySubFolder\My Sub SubFolder")
 Set cMessages = oFolder.Items
      For Each oMailItem In cMessages 
           sRecips = ""
                For Each oRecipient In oMailItem.Recipients
                          If Trim(sRecips) = "" Then 
                               sRecips = "To: " & oRecipient
                          Else
                               sRecips = sRecips & VbCrLf & "To: " & oRecipient
                          End If 
                Next
           sText = sRecips 
           sText = sText & VbCrLf & "From: " & oMailItem.SenderEmailAddress
           sText = sText & VbCrLf & "Subject: " & oMailItem.Subject
           sText = sText & VbCrLf & "Body: " & oMailItem.Body 
           WScript.Echo "-----------------" & VbCrLf & sText
      Next 
 
 Function fGetOLFolder(sFolderPath)
 'This function returns a folder object based on the sFolderPath variable.
 'sFolderPath is recognized as:
 'Public Folder Example - 
 '   "Public Folders\All Public Folders\MySubFolder\My Sub SubFolder"
 ' Or
 'Exchange Mailbox Example - 
 '   "Mailbox - John Doe\Inbox\MySubFolder\My Sub SubFolder"
 ' Or
 'Personal Folders Example - 
 '   "Personal Folders\Inbox\MySubFolder\My Sub SubFolder"
 Dim aFolders, oFolder, i, oNameSpace
 On Error Resume Next
 aFolders = Split(Replace(sFolderPath, "/", "\"), "\")
 Set oApplication = WScript.CreateObject ("Outlook.Application") 
 Set oNameSpace = oApplication.GetNamespace("MAPI")
 Set oFolder = oNameSpace.Folders(aFolders(0))
    For i = 1 To UBound(aFolders)
        Set oFolder = oFolder.Folders(aFolders(i))
            If Err <> 0 Then Exit Function
    Next
 Set fGetOLFolder = oFolder
 End Function


Ett annat sätt att hämta ideer från är samma princip, fast trädstruktur på din disk.
http://msdn.microsoft.com/en-us/library/bb513869.aspx

Lycka till och hoppas det hjälper dig.


Svara

Sv:Jobba med subfolders i Outlook 2013

Postades av 2014-07-03 22:31:07 - Nick Alzen

Hej Pelle,
Tack så jätte mycket för koden.
Skall testa den...ser bra ut! :-)

Från en f.d. MSFT:are.

/Nick


Svara

Sv: Jobba med subfolders i Outlook 2013

Postades av 2014-07-04 15:44:51 - Nick Alzen

En fundering bara.
Kommer denna kod att loop:a igenom alla subfoldrar? Alltså, jag vet inte namnen på dem bara att de finns där?
O det kan vara 100+ subfoldrar etc.


Svara

Sv:Jobba med subfolders i Outlook 2013

Postades av 2014-07-04 15:46:12 - Pelle Johansson

Japp, för man använder inte namnen utan bara "gå till nästa mapp om den finns".
Prova och se, det borde fungera. Lägg bara in dina förutsättningar först man namn och liknande..


Svara

Sv: Jobba med subfolders i Outlook 2013

Postades av 2014-07-04 16:20:52 - Nick Alzen

Hm säger type mismatch.

Så här har jag ändrat till:
Set oFolder = fGetOLFolder("mailbox - firstname.lastname@example.com\Inbox\Folder1\Folder1B\Folder2")
Eller skall det bara vara
Set oFolder = fGetOLFolder("\Inbox\Folder1\Folder1B\Folder2")
?


Svara

Sv:Jobba med subfolders i Outlook 2013

Postades av 2014-07-08 10:47:57 - Nick Alzen

Får det fortfarande inte att funka.
Anyone?
Som sagt vet inte vad dom underliggande mapparna heter.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
493
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies