Outlookフォルダ内のすべての電子メールをすばやく圧縮して Zip File

今すぐ共有:

一部のユーザーは、Outlookフォルダー内のすべての電子メールを zip ファイル。 このような直接的な機能はありませんが、この記事で公開されているVBAコードを利用して、すばやく実現できます。

に zip Outlookフォルダー内のすべての電子メールは、最初にローカルドライブにXNUMXつずつエクスポートしてから、[送信]> [圧縮(圧縮)]を使用する必要があります。zipped)フォルダ」機能。 間違いなく、これは、面倒すぎることです。 そのため、一度に実現できるように、以下では別の方法をご紹介します。 VBAコードで取得する方法を説明します。 VBAに慣れていない場合は、「OutlookでVBAコードを実行する方法" その間。

圧縮に送信(zipped)フォルダ

フォルダ内のすべてのメールを圧縮して Zip File

  1. としてtart、「Alt + F11」を使用してOutlookVBAエディターを起動します。
  2. 次に、VBAコードをコピーしてモジュールに貼り付けます。
Sub ZipAllEmailsInAFolder()
    Dim objFolder As Outlook.Folder
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim strSubject As String
    Dim varTempFolder As Variant
    Dim varZipFile As Variant
    Dim objShell As Object
    Dim objFileSystem As Object
   
    'Select an Outlook Folder
    Set objFolder = Outlook.Application.Session.PickFolder
 
    If Not (objFolder Is Nothing) Then
       'Create a temp folder
       varTempFolder = "E:\" & objFolder.Name & Format(Now, "YYMMDDHHMMSS")
       MkDir (varTempFolder)
       varTempFolder = varTempFolder & "\"
   
       'Save each email as msg file
       For Each objItem In objFolder.Items
 
           If TypeOf objItem Is MailItem Then
              Set objMail = objItem
              strSubject = objMail.Subject
              strSubject = Replace(strSubject, "/", " ")
              strSubject = Replace(strSubject, "\", " ")
              strSubject = Replace(strSubject, ":", "")
              strSubject = Replace(strSubject, "?", " ")
              strSubject = Replace(strSubject, Chr(34), " ")
 
              objMail.SaveAs varTempFolder & strSubject & ".msg", olMSG
           End If
       Next
 
       'Create a new ZIP file
       varZipFile = "E:\" & objFolder.Name & " Emails.zip"
       Open varZipFile For Output As #1
       Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
       Close #1
 
       'Add the exported msg files to the ZIP file
       Set objShell = CreateObject("Shell.Application")
       objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items

       On Error Resume Next
       Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
          Application.Wait (Now + TimeValue("0:00:01"))
       Loop
       On Error GoTo 0
 
       'Delete the temp folder
       Set objFileSystem = CreateObject("Scripting.FileSystemObject")
       objFileSystem.DeleteFolder Left(varTempFolder, Len(varTempFolder) - 1)
    End If
End Sub

VBAコード-フォルダ内のすべての電子メールを圧縮して Zip File

  1. その後、「F5」キーボタンをクリックしてこのマクロを実行します。
  2. その後、ポップアップダイアログボックスで、ソースOutlookフォルダーを選択し、[OK]をクリックします。Outlookフォルダを選択します
  3. マクロが終了すると、Windowsフォルダが表示され、そこに新しいフォルダがあります zip 次の図に示すように、選択したOutlookフォルダからのすべての電子メールを含むファイル。New Zip File

厄介なOutlookファイルの破損に対処する

Outlookのすべての一般的な問題の中で、間違いなく、Outlookの損傷はmですost 深刻なもの。 ただし、実際には、このような問題はいつでも発生する可能性があります。 したがって、通常のOutlookユーザーの場合は、Outlookデータの定期的なバックアップを作成する必要があります。 さらに、堅牢なものを手に入れるのが賢明です Outlookの修復 などのユーティリティ DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 SQL修正 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。