2021/07/23

outlook快速開啟多個pst檔

 outlook如果要開啟pst檔,有點麻煩,因為一次只能開啟一個,但偏偏有的user有超多pst檔,所以在換電腦的時後非常麻煩。

網路上有人有分享用powershell去一次把所有pst做掛載,是可行的,但偏偏就是遇到有一台電腦執行時會失敗,所以就想找找有沒有其他方式。

沒想到還真的有,就是用vba去執行,方法如下:

在outlook的畫面中,按下"alt + f11",然後就會開啟一個vba的編輯畫面,然後將下列的程式碼碼上,記得在第二個的地方,要把路徑改成你的pst檔案的資料夾路徑,然後執行,就成功了。

Sub BatchOpenMultiplePSTFiles()

Call LoopFolders("E:\")

MsgBox "Open Successfully!", vbExclamation + vbOKOnly, "Open Outlook Data File"


End Sub


Sub LoopFolders(strPath As String)

Dim objFileSystem As Object

Dim objFolder As Object

Dim objFile As Object

Dim objPSTFile As Object


Set objFileSystem = CreateObject("Scripting.FileSystemObject")

Set objFolder = objFileSystem.GetFolder(strPath)


For Each objFile In objFolder.Files

strFileExtension = objFileSystem.GetExtensionName(objFile)

If LCase(strFileExtension) = "pst" Then

Set objPSTFile = objFile

Outlook.Application.Session.AddStore (objPSTFile.Path)

End If

Next


If objFolder.SubFolders.Count > 0 Then

For Each objSubFolder In objFolder.SubFolders

If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then

LoopFolders (objSubFolder.Path)

End If

Next

End If

End Sub



沒有留言:

張貼留言