Hvis du vil sjekke størrelsesinformasjonen til hver mappe i en PST-fil, kan du bruke metoden som er eksponert i denne artikkelen. Det vil raskt eksportere størrelsesinformasjonen til alle mappene i en PST-fil til en Excel-fil.
Når PST-filen din er for stor, kan det være lurt å sjekke størrelsen på hver mappe. Det hjelper deg enkelt å finne ut hvilke som er de største og gjøre passende arkivering på grunnlag av størrelsen. Generelt, for å sjekke mappestørrelsen, kan du ganske enkelt høyreklikke på en mappe og deretter velge "Egenskaper". I den nye popup-dialogboksen kan du klikke på "Mappestørrelse"-knappen. Men hvis du har opprettet mange mapper, er det betydelig vanskelig å kontrollere størrelsesinformasjonen én etter én manuelt. Så hvis du ønsker å batch få størrelsesinformasjonen til alle mappene i en PST-fil, kan du bruke følgende VBA-kode. Den eksporterer alle mappenavn og størrelsesinformasjon til en Excel-fil på én gang.
Eksporter størrelsesinformasjonen for alle mapper i en PST-fil til en Excel-fil
- Til start med, start Outlook-applikasjonen.
- Bytt deretter til «Utvikler»-fanen og klikk på «Visual Basic»-knappen eller trykk på «Alt + F11»-tastene for å få tilgang til VBA-redigering.
- I "Microsoft Visual Basic for Applications"-vinduet åpner du en modul som ikke er i bruk.
- Deretter kopierer og limer du inn følgende VBA-koder i denne modulen.
Dim strExcelFile As String Dim objExcelApp Som Excel.Application Dim objExcelWorkbook As Excel.Workbook Dim objExcelWorksheet As Excel.Worksheet Sub ExportFodlerSizetoExcel() Dim objSourcePST As Outlook.Folder Dim objFolder As Outlook.Folder Set objExcelp"ExcelObjExcelpplication"") objExcelWorkbook = objExcelApp.Workbooks.Add Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1") objExcelWorksheet.Cells(1, 1) = "Folder" objExcelWorksheet.Cells(1, 2) = "Set asource PTS = Outlook.Application.Session.PickFolder For Every objFolder In objSourcePST.Folders Call ProcessFolders(objFolder) Neste 'Tilpass kolonnene fra A til B objExcelWorksheet.Columns("A:B").AutoFit strExcelFile = "E:\Outlook\" & objSourcePST.Name & " Mappestørrelse (" & Format(Nå, "åååå-mm-dd tt-mm-ss") & ").xlsx" objExcelWorkbook.Close True, strExcelFile MsgBox "Complete!", vbExclamation End Sub Sub Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder) Dim objItem As Object Dim lCurrentFolderSize As Long Dim nNextEmptyRow As Integer objCurrentFolder.Items.SetColumns ("Størrelse") For hver objItem In objCurrentFolderSolderFolderSolderFolderSoldjCurrentFolderSolderFolder. .Størrelse Neste 'Konverter byte til kilobyte 'For å konvertere til megabyte, bruk: 'lCurrentFolderSize = (lCurrentFolderSize / 1024) / 1024 lCurrentFolderSize = lCurrentFolderSize / 1024 nNextEmptyRow = objExcelWorksheet.Range"ExcelAxsheet" &Range"ExcelAxsheet"Objectsheet.Range.Range(RangeW). Rad + 1 ' Legg til verdiene i kolonnene objExcelWorksheet.Range("A" & nNextEmptyRow) = objCurrentFolder.FolderPath objExcelWorksheet.Range("B" & nNextEmptyRow) = lCurrentFolderSize & "KBolderFolderFolder objSubold" If hver objSubold.CounterF objC. jCurrent Folder .Folders Call ProcessFolders(objSubfolder) Next End If End Sub
- Etter det bør du sette Outlook-makrosikkerhetsnivået til lavt.
- Til slutt kan du prøve.
- Trykk på F5-tasten i gjeldende makrovindu.
- Deretter vil du bli bedt om å velge en PST-fil, som følgende bilde:
- Etter å ha valgt en kildefil, vil Outlook begynne å eksportere størrelsesinformasjonen til Excel.
- Etter at makroen er ferdig, mottar du en melding som skjermbildet nedenfor.
- Til slutt vil du kunne finne Excel-filen i den forhåndsdefinerte lokale mappen. Excel-filen vil se slik ut:
Håndter hyppige PST-feil
Siden Outlook er utsatt for feil, kan det hende du noen gang har hatt mange problemer i Outlook. For å bedre og mer fleksibelt takle frustrerende PST-problemer, er det lurt å ha et erfarent og anerkjent fikseringsverktøy i nærheten, som f.eks. DataNumen Outlook Repair. Det er i stand til fikse PST problemer som en lek.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert SQL Server utvinning og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med
Jeg bruker VBA mye i Excel, men dette er den første med Outlook for meg.
Når jeg kjører koden din får jeg kompileringsfeil: Brukerdefinert type ikke definert
for Dim objExcelApp Som Excel.Application
Vil du foreslå hvordan du fikser dette?
Fant et notat om Microsoft Solutions som foreslo Visual Studio.
Jeg har lastet ned Visual Studio, men vet ikke hvilken arbeidsmengde jeg skal velge
å jobbe med VBA
Ja! Endelig noe om %keyword1%.
Rettingen til min andre kommentar var å endre linje 26 til hvilken mappestruktur du faktisk har. Nå fungerer det for meg.
Så jeg valgte mappen på øverste nivå, dvs. kontoen navngitt av e-postadressen, i popup-dialogboksen og min første feil ('91') forsvant, men jeg får en annen feil:
Kjøretidsfeil '1004:
Microsoft Excel får ikke tilgang til filen 'E:\Outlook\C8DB2300'. Der
er flere mulige årsaker:
• Filnavnet eller banen finnes ikke.
• Filen brukes av et annet program.
• Arbeidsboken du prøver å lagre har samme navn som en
for øyeblikket åpen arbeidsbok.
Etter at jeg fikset den brukerdefinerte typefeilen (som Tom ga rettelsen for) fikk jeg en feilmelding som sier "Run-time error '91': Object variabel eller With block variable not set".
: /
Dette fungerer bra, men trekker bare den lokale datastørrelsen. Kan du redigere den for å trekke serverdatastørrelsen?
Dette er et enormt nyttig verktøy. Min takk til Shirley Zhang for å ha sendt inn manuset. Jeg har vært i stand til å utvide det på måter som sparer meg tid med jevne mellomrom.
Dette er veldig nyttig. Er det en rask måte å legge til en kolonne for antall meldinger, i tillegg til størrelsen?
Takk for dette skriptet ... men du bruker all denne tiden på å skrive koden SÅ lag en veldig tydelig side om hvordan du bruker den .... så når folk tar opp feil, svarer du ikke?
Etter at jeg fikk en brukerdefinert type ikke-definert feil relatert til Excel.Application, fant jeg ut at jeg i vba-vinduet måtte gå inn i verktøy, referanser og sørge for at Microsoft Excel xx... elementet ble sjekket.
Men så etter det kjørte jeg makroen, den satt litt og jeg fikk den samme runtime error 6 overflow-feilen: (
(etter å ha fått
Hei – jeg fikk ikke den feilen, og etter å ha lagt til Outlook-referanseobjektet klarte jeg å kjøre skriptet. Verktøy-> Referanser. Det eneste problemet jeg har er at størrelsen eksportert til excel ikke samsvarer med total størrelse anslått av Outlook-mappestørrelsen. Jeg skulle ønske det kan oppdateres og også KB til GB-konvertering kreves i excel, så det bør kodes. Ville det være mulig å legge til antall e-poster i hver mappe?
Hallo,
når jeg kjører koden får jeg den feilen "runtime error 6 overflow", jeg leste om det at det kan skje på grunn av det store antallet elementer jeg prøver å bruke koden på, og PST-filen min er enorm, hvordan kan jeg lage et arbeid rundt?!