http://techdroppings.blogspot.cz/2013/07/vba-get-contents-of-search-folder.htmlcitovat
Zaslal/a
9.10.2017 22:28ahoj všem, potřeboval bych poradit, jak z excelu vytahnout počet emailů za jednotlivé dny z outlooku - mám již funkční makro na vytažení jakékoli složky, zajímá mě odeslaná pošta a přijatá pošta.
Odeslanou poštu mám již vytaženou z makra, které vkládám níže.
Jde mi ale o to, že veškerou příchozí poštu co zpracuji rozřazuji do složek. Vytvořil jsem si tedy vlastní filtr vyhledávání viz: https://imgur.com/fTl0Xnr
Bohužel se jedná o jakýsi filtr pošty a makro nelze použít - jakoby tu složku neviděl, lze to nějak vyřešit korekcí makra?
VBA na odchozí emaily funguje na jedničku, ale potřeboval bych ho upravit i pro filtr - konkrétně vyhledávací složku "Přijatá pošta". Všem děkuji za případnou pomoc.
Sub Odeslane_emaily()
' Set Variables
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer, DateCount As Integer, iCount As Integer
Dim myDate As Date
Dim arrEmailDates()
' Get Outlook Object
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
' Get Folder Object
On Error Resume Next
Set objFolder = objnSpace.Folders("osobni@email.cz").Folders("Odeslaná pošta")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
Exit Sub
End If
' Put ReceivedTimes in array
EmailCount = objFolder.Items.Count
For iCount = 1 To EmailCount
With objFolder.Items(iCount)
ReDim Preserve arrEmailDates(iCount - 1)
arrEmailDates(iCount - 1) = DateSerial(Year(.ReceivedTime), Month(.ReceivedTime), Day(.ReceivedTime))
End With
Next iCount
' Clear Outlook objects
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
' Count the emails dates equal to active cell
Sheets("Odeslaná").Range("A1").Select
Do Until IsEmpty(ActiveCell)
DateCount = 0
myDate = ActiveCell.Value
For i = 0 To UBound(arrEmailDates) - 1
If arrEmailDates(i) = myDate Then DateCount = DateCount + 1
Next i
Selection.Offset(0, 1).Activate
ActiveCell.Value = DateCount
Selection.Offset(1, -1).Activate
Loop
End Sub
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.