თუ გსურთ მიიღოთ მოხსენება Outlook-ის თითოეულ საქაღალდეში ერთეულების რაოდენობის შესახებ, შეგიძლიათ გამოიყენოთ ამ სტატიაში წარმოდგენილი მეთოდი. ის სწრაფად გააკეთებს დათვლას და შედეგების ექსპორტს Excel ფაილში.
ჩემს წინა სტატიაში - "როგორ სწრაფად მივიღოთ საქაღალდეში და მისი ყველა ქვესაქაღალდის მთლიანი რაოდენობა Outlook VBA-ით”, შეგიძლიათ ისწავლოთ მეთოდი VBA-ს გამოყენებით საქაღალდეში არსებული ელემენტების რაოდენობის მისაღებად. თუმცა, ამ გზით, თუ გსურთ დათვალოთ ელემენტები ყველა საქაღალდეში, უნდა აირჩიოთ თითოეული საქაღალდე და სათითაოდ გაუშვათ მაკრო. ცოტა დამღლელია. აქედან გამომდინარე, ჩვენ გასწავლით სხვა მეთოდს, რომელიც დათვლის ექსპორტს Excel ფაილში.
Outlook-ის თითოეულ საქაღალდეში ერთეულების მთლიანი რაოდენობის ექსპორტი Excel-ში
- თავიდანვე გაუშვით თქვენი Outlook პროგრამა.
- შემდეგ დააჭირეთ "Alt + F11" ღილაკებს Outlook-ის მთავარ ფანჯარაში.
- შემდეგ თქვენ შეხვალთ "Microsoft Visual Basic აპლიკაციებისთვის" ფანჯარაში, რომელშიც თქვენ უნდა გახსნათ მოდული, რომელიც არ გამოიყენება.
- ამის შემდეგ, დააკოპირეთ და ჩასვით შემდეგი VBA კოდი ამ მოდულში.
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
- ამის შემდეგ, თქვენ უნდა შეცვალოთ თქვენი Outlook მაკრო უსაფრთხოების დონე დაბალზე.
- შემდეგ შეგიძლიათ დაბრუნდეთ ახლად დამატებულ მაკროზე და დააჭირეთ F5 ღილაკს ამ მაკროს გასაშვებად.
- შემდეგ თქვენ უნდა აირჩიოთ წყარო PST ფაილი და დააჭიროთ "OK".
- მაკრო დასრულების შემდეგ, შეგიძლიათ გადახვიდეთ წინასწარ განსაზღვრულ ადგილობრივ საქაღალდეში ახალი Excel ფაილის საპოვნელად, რომელიც გამოიყურება შემდეგ ეკრანის სურათზე:
მოაგვარეთ შემაშფოთებელი PST შეცდომები
შესაძლოა, Outlook-ის გამოყენებისას შეგხვედრიათ სხვადასხვა პრობლემა. მცირე საკითხების მოსაგვარებლად, შეგიძლიათ უბრალოდ მიმართოთ შემოსულების სარემონტო ინსტრუმენტი. მიუხედავად ამისა, თუ პრობლემები იმდენად სერიოზულია, რომ ისინი აღემატება ჩაშენებულ ხელსაწყოს, თქვენ უნდა გამოიყენოთ უფრო ძლიერი ინსტრუმენტი, როგორიცაა DataNumen Outlook Repair.
ავტორი შესავალი:
შირლი ჟანგი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის mdf-ის შეკეთება და Outlook სარემონტო პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად


