Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Emails in Outlook tellen

Pagina: 1
Acties:
  • 8.726 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Voor ons callcenter willen wij geautomatiseerd de aantallen binnenkomende mails gaan bijhouden. Momenteel tellen wij dagelijks handmatig de aantallen mails welke in de inboxen binnenkomen (5 verschillende inboxen in totaal).

Mijn vraag is of het mogelijk is om in een excelsheet automatisch bij te houden hoeveel mails er in de inbox van outlook binnenkomen. Gewenste telmoment zal elke ochtend om 8.00 uur moeten zijn.

Alvast bedankt voor iedere hulp.

  • keur0000
  • Registratie: September 2002
  • Laatst online: 29-09-2024

keur0000

-------- N O N E --------

Postvak in selecteren, bestand > exporteren > excel ?

Bron: SR. Engineer met +40 jaar ontwerp/werkervaring in het bouwen van o.a. datacenters ;)


  • MADG0BLIN
  • Registratie: Juni 2001
  • Laatst online: 10:27
Als ze in je inbox staan dan kun je dat toch in een oogopslag zien... Bij mij staat dan in het blauw het nieuwe aantal ernaast. Welke versie van outlook heb je?

Verwijderd

je kan dit in VB automatiseren... je kan denk ik met de Outlook.Folders en Outlook.Application objecten dit wel voor elkaar krijgen...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 14 October 2003 @ 11:09:
je kan dit in VB automatiseren... je kan denk ik met de Outlook.Folders en Outlook.Application objecten dit wel voor elkaar krijgen...
VBScript is mss wel mooier... Ik zal eens kijken of ik iets in elkaar kan flansen ;)

[edit]
Ok, dit geeft een optelling van alle folders in zijn totaliteit. Is makkelijk aan te passen naar je eigen behoeften.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim objOutlook, objNameSpace, lItemCount, myFolder

On Error Resume Next

Set objOutlook = CreateObject("Outlook.application")
Set objNameSpace = objOutlook.GetNameSpace("MAPI")
For Each myfolder In objNameSpace.Folders
    EnumFolders myfolder
Next
Set objNameSpace = Nothing
Set objOutlook = Nothing

MsgBox lItemCount

Sub EnumFolders(oFolder)
    For Each oFolder In oFolder.Folders
        'MsgBox oFolder.Name & " bevat " & oFolder.Items.Count & " items."
        lItemCount = lItemCount + oFolder.Items.Count
        If oFolder.Folders.Count > 0 Then EnumFolders oFolder
    Next
End Sub


Copy / Pasten naar test.vbs en dubbelklikken.

[ Voor 67% gewijzigd door RobIII op 14-10-2003 11:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Je kan inderdaad het blauwe aantal tellen. Maar in mijn geval hebben wij 5 emailboxen, waarin iedere inbox ook submappen bevat, waarin de persoonlijke mappen van emailagents staan. Graag wil ik aan kunnen geven dat van de door mij geselecteerde folders de aantallen worden geteld en in excel worden weergegeven.

RobIII ik weet niet waar je over spreekt als je het over VBScript hebt, maar als je me kan helpen, dan heel graag.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zie mijn edit hierboven. Je kunt op regel 17 de apostrof (') aan 't begin van de regel weghalen zodat je ziet wat 'ie telt. Nu moet je alleen 't spul nog in excel zien te plempen, of heb je daar ook hulp bij nodig? ;)

[edit1]
Iets in deze geest zou moeten werken, maar bij mij klapt 'ie eruit... Ik zoek het bugje nog effe....

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Dim objOutlook, objNameSpace, lItemCount, lLinePos, objExcel, myFolder

On Error Resume Next

Set objExcel= CreateObject("Excel.Application")
objExcel.visible=False
objExcel.DisplayAlerts = False
Set oWB = objExcel.Workbooks.Add
lLinePos = 1

Set objOutlook = CreateObject("Outlook.application")
Set objNameSpace = objOutlook.GetNameSpace("MAPI")
For Each myfolder In objNameSpace.Folders
    EnumFolders myfolder
Next
Set objNameSpace = Nothing
Set objOutlook = Nothing


oWB.SaveAs "C:\blaat.xls"
objExcel.Quit
Set objExcel = Nothing

Sub EnumFolders(oFolder)
    For Each oFolder In oFolder.Folders
    oWB.ActiveSheet.Cells(lLinePos,1).Value=oFolder.name
    oWB.ActiveSheet.Cells(lLinePos,2).Value=oFolder.Items.Count
    lLinePos = lLinePos + 1
        If oFolder.Folders.Count > 0 Then EnumFolders oFolder
    Next
End Sub


[edit2]
Hmmm...was rechten probleempje, code is dus gewoon goed

[edit3]
Code opgeruimd. Veel plezier ermee :*)

[ Voor 122% gewijzigd door RobIII op 14-10-2003 11:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Rob hardstikke bedankt voor je hulp. Ik ga even op zoek naar iemand met Visual Basic kennis (heb ik namelijk helemaal niet).
Hoop dat ik eruit ga komen...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 14 oktober 2003 @ 12:02:
Rob hardstikke bedankt voor je hulp. Ik ga even op zoek naar iemand met Visual Basic kennis (heb ik namelijk helemaal niet).
Hoop dat ik eruit ga komen...
Huh? Laatste scriptje dat ik heb gepost doet toch wat je wil?
Knippen -> Notepad openen -> Plakken -> Opslaan als "bla.vbs" (let op dat je bestandstype op "*.*" zet, niet op "*.txt") en dubbelklikken. Dit script maakt een XLS bestand in C:\ aan genaamd blaat.xls. Daar staat alles in wat je wil weten, toch?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Perfect, dit is wat ik nodig had. Nu nog even aan de slag om alles in een grafiek te zetten en klaar mijn Reporting.
Bedankt Rob

Verwijderd

Topicstarter
Nog een laatste vraagje, is het mogelijk om te kiezen welke mappen ik wil weergeven en is het mogelijk om de status van de mails te bekijken (dus gelezen, ongelezen, flag etc)?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Alles kan! Maar dan moet je toch echt effe een scripter erbij gaan halen ;)
* RobIII is *druk *druk *druk ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
En tegen betaling???

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
<grijnz>
Mail me maar ;)
</grijnz>

Er zijn zat lui hier die je kunnen helpen. Ik zou het eerst hier nog effe afwachten ;)

Ach, f*ck it... Geef me 5 minuten, flans ik wat voor je in elkaar...

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Dim objOutlook, objNameSpace, lItemCount, lLinePos, objExcel, myFolder
Dim strFolders

strFolders = "inbox|sent items|test"

On Error Resume Next

Set objExcel= CreateObject("Excel.Application")
objExcel.visible=False
objExcel.DisplayAlerts = False
Set oWB = objExcel.Workbooks.Add
lLinePos = 1
strFolders = "|" & strFolders & "|"

Set objOutlook = CreateObject("Outlook.application")
Set objNameSpace = objOutlook.GetNameSpace("MAPI")
For Each myfolder In objNameSpace.Folders
    EnumFolders myfolder
Next
Set objNameSpace = Nothing
Set objOutlook = Nothing


oWB.SaveAs "C:\blaat.xls"
objExcel.Quit
Set objExcel = Nothing

Sub EnumFolders(oFolder)
    For Each oFolder In oFolder.Folders
        If instr(1,strFolders,"|" & oFolder.name & "|",1)>0 then
            oWB.ActiveSheet.Cells(lLinePos,1).Value=oFolder.name
            oWB.ActiveSheet.Cells(lLinePos,2).Value=oFolder.Items.Count
            lLinePos = lLinePos + 1
        end if
        If oFolder.Folders.Count > 0 Then EnumFolders oFolder
    Next
End Sub


Zoiets, uit blote bolleke. Je kunt strFolders aanpassen en daar alle mappen in zetten die je in je excel sheet wil hebben, gescheiden door pipe's (|) (zie voorbeeld op regel 4).

Zorg dus wel dat de waardes tussen twee quotes (") staan en dat de mappen gescheiden worden door |.

[ Voor 123% gewijzigd door RobIII op 14-10-2003 17:20 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ik heb wat te doen vanavond :-) Heel erg bedankt

Verwijderd

Topicstarter
Kan iemand mij nog helpen met de toevoeging die ik moet maken om het aantal ongelezen en gelezen mailtjes te tellen in een bepaalde map. Dus exclusief mailtjes die geforward en gereplied zijn en de mailtjes die een vlag bevatten (no responce necessary).

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Verwijderd schreef op 14 October 2003 @ 19:36:
Kan iemand mij nog helpen met de toevoeging die ik moet maken om het aantal ongelezen en gelezen mailtjes te tellen in een bepaalde map. Dus exclusief mailtjes die geforward en gereplied zijn en de mailtjes die een vlag bevatten (no responce necessary).
Ik kan je helaas niet helpen door je de oplossing te geven (m'n trien gaat, ik ben het overwerk zat :P )
Maar ik kan je wel goed helpen door je te wijzen op de gruwelijk veel beschikbare documentatie over VBScript en Outlook automatisering dmv. de WSH (Windows Scripting Host). Zo heeft microsoft.com heel veel info en geeft bijv. [google=tutorial VBScript outlook] of pak-em-beet [google=oFolder.Items] heel veel info, met een klein beetje spelen moet je er ook zelf uitkomen met drie extra voordelen: je leert ervan werken met VBScript, ziet misschien extra zaken die ook handig zijn en na een tijdje weet je het beter dan RobIII en kan je het veel sneller dan via GoT :P

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
F_J_K schreef op 14 October 2003 @ 19:51:
[...]
<knip> en na een tijdje weet je het beter dan RobIII </knip>
Aaaargh! Concurentie!! Must...stay....ahead! :P

Maar je hebt wel gelijk. Zo hebben de meesten het hier geleerd denk ik...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Absoluut heel interessant allemaal, alleen weinig tijd om deze scripting te gaan bestuderen. Ga het dus even een paar weekjes uitstellen. In ieder geval allemaal bedankt voor de hulp.
Pagina: 1