Jos haluat saada raportin kussakin Outlook-kansiossa olevien kohteiden määrästä, voit käyttää tässä artikkelissa esiteltyä menetelmää. Se laskee nopeasti ja vie tulokset Excel-tiedostoon.
Edellisessä artikkelissani - “Kuinka saada nopeasti kansion ja kaikkien sen alikansioiden kokonaismäärä Outlook VBA: n kautta”, voit oppia menetelmän VBA:n avulla kansion kohteiden määrän saamiseksi. Jos kuitenkin haluat laskea kohteet kaikissa kansioissa, sinun on valittava jokainen kansio ja suoritettava makro yksitellen. Se on vähän tylsää. Siksi opetamme sinulle toisen menetelmän, joka vie määrän Excel-tiedostoon.
Vie kunkin Outlook-kansion kohteiden kokonaismäärä Exceliin
- Käynnistä aluksi Outlook-ohjelma.
- Paina sitten "Alt + F11" -näppäimiä Outlookin pääikkunassa.
- Seuraavaksi pääset "Microsoft Visual Basic for Applications" -ikkunaan, jossa sinun on avattava moduuli, jota ei käytetä.
- Kopioi ja liitä seuraava VBA-koodi tähän moduuliin.
Public strExcelFile As String
Public objExcelApp As Excel.Application
Public objExcelWorkbook As Excel.Workbook
Public objExcelWorksheet As Excel.Worksheet
Sub Export_CountOfItems_InEachFolder_toExcel()
Dim objSourcePST As Outlook.Folder
Dim objFolder As Outlook.Folder
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelWorksheet.Cells(1, 1) = "Folder"
objExcelWorksheet.Cells(1, 2) = "Count Items"
'Select a source PST file
Set objSourcePST = Outlook.Application.Session.PickFolder
For Each objFolder In objSourcePST.folders
Call ProcessFolders(objFolder)
Next
'Fit the columns from A to B
objExcelWorksheet.Columns("A:B").AutoFit
strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Folder Items Count (" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ").xlsx"
objExcelWorkbook.Close True, strExcelFile
MsgBox "Complete!", vbExclamation
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim objItem As Object
Dim lCurrentFolderItemCount As Long
Dim nLastRow As Integer
lCurrentFolderItemCount = objCurrentFolder.Items.Count
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Add the values into the columns
objExcelWorksheet.Range("A" & nLastRow) = objCurrentFolder.FolderPath
objExcelWorksheet.Range("B" & nLastRow) = lCurrentFolderItemCount
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- Sen jälkeen sinun on vaihdettava Outlook-makron suojaustaso matalaksi.
- Sitten voit palata äskettäin lisättyyn makroon ja painaa F5-näppäintä suorittaaksesi tämän makron.
- Seuraavaksi sinun on valittava lähde PST-tiedosto ja napsautettava "OK".
- Kun makro on valmis, voit siirtyä ennalta määritettyyn paikalliseen kansioon löytääksesi uuden Excel-tiedoston, joka näyttää seuraavalta kuvakaappaukselta:
Rajaa ärsyttävät PST-virheet
Ehkä olet törmännyt erilaisiin ongelmiin Outlookin käytön aikana. Voit käsitellä pieniä ongelmia yksinkertaisesti turvautua Saapuneet-kansion korjaustyökalu. Kuitenkin, jos ongelmat ovat niin vakavia, että ne ovat ylittäneet sen, mitä sisäänrakennettu työkalu voi tehdä, sinun on käytettävä tehokkaampaa työkalua, kuten DataNumen Outlook Repair.
Tekijän esittely:
Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien mdf-korjaus ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com


