Přejít na hlavní obsah

VBA Excel: jak otevřít soubor MSG v programu

Pokud pracujete s programem Microsoft Excel a byl vám doručen soubor s příponou MSG, pravděpodobně jste narazili na potřebu jej otevřít v programu. Soubory s příponou MSG obvykle obsahují e-maily vytvořené v aplikaci Outlook a jejich otevření v aplikaci Excel nemusí být snadný úkol. Pomocí VBA (Visual Basic for Applications) však můžete snadno otevřít soubor MSG a přistupovat k jeho obsahu. V tomto článku vám řekneme, jak na to.

Chcete-li otevřít soubor MSG v Excelu pomocí VBA, budete potřebovat nějaký kód. Začněme vytvořením nového modulu VBA v Excelu. Vyberte kartu Vývojář na pásu karet nástrojů aplikace Excel a poté klikněte na tlačítko "Visual Basic" nebo použijte klávesovou zkratku Alt+F11. V okně Visual Basic Editor, které se otevře, vyberte z nabídky "Vložit" a poté "modul".

Nyní vložte následující kód do nového modulu:

Sub OpenMsgFile()

Dim objOL As Outlook.Application

Dim objMsg As Outlook.MailItem

Dim objExcel jako Excel.Aplikace

Dim objWorkbook jako Excel.Sešit

Dim strFolderPath jako řetězec


"О о о о о ф MS MS MS MS MS

Nastavit objOL = CreateObject ("Outlook.Aplikace")

Nastavit objMsg = objOL.Relace.OpenSharedItem("C:\Path\To\Your\File.ZPRÁVA")


"Пу с с с с с MS MS MS MS

strFolderPath = "C:\Path\To\Output\Folder\"

Nastavit objExcel = CreateObject ("Excel.Aplikace")

Nastavte objWorkbook = objExcel.Sešit.Přidat

objWorkbook.Listy (1).Rozsah ("A1").Hodnota = objMsg.Předmět

objWorkbook.Listy (1).Rozsah ("A2").Hodnota = objMsg.SenderEmailAddress

objWorkbook.Listy (1).Rozsah ("A3").Hodnota = objMsg.Tělo


"Сомраняем результаты вовом файле Excel

objWorkbook.SaveAs strFolderPath & " OutputFile.xlsx"


' Закрываем все объекты

objWorkbook.Zavřít SaveChanges: = True

Nastavit objMsg = nic

Nastavit objOL = nic

Nastavit objExcel = nic

Nastavit objWorkbook = nic

End Sub

Místo "C:\Path\To\Your\File..MSG " zadejte cestu k souboru MSG, který chcete otevřít. Místo "C:\Path\To\Output\Folder\" zadejte cestu ke složce, ve které chcete uložit výsledek. Spusťte makro stisknutím F5 a program Excel otevře soubor MSG extrahováním dat, jako je motiv dopisu, adresa odesílatele a tělo dopisu. Poté tato data uloží do nového souboru aplikace Excel s názvem "OutputFile.xlsx".

Proč a kdy se vyplatí otevřít soubor MSG v programu VBA Excel?

  • Automatizace zpracování e-mailů. Soubory MSG mohou obsahovat důležité informace, jako je text zprávy, přílohy a metadata. Otevřením souborů MSG v aplikaci VBA Excel můžete extrahovat data z e-mailů a používat je ve svých makrech a skriptech.
  • Analýza dat e-mailu. Otevřením souborů MSG v programu VBA Excel můžete prozkoumat obsah elektronických zpráv a provádět různé analytické operace. Můžete například analyzovat témata zpráv, Kategorie, odesílatele a další charakteristiky, abyste získali statistiky nebo identifikovali určité vzorce.
  • Import dat z e-mailu. Otevření souborů MSG v aplikaci VBA Excel umožňuje importovat obsah e-mailů do tabulkového formátu, který lze snadno zpracovat a později použít. To může být užitečné pro automatické zpracování a analýzu dat získaných e-mailem.

Otevírání souborů MSG v programu VBA Excel by mělo být provedeno, pokud je nutné automatizovat zpracování nebo analýzu dat e-mailů a v případě potřeby importovat data z e-mailů do tabulek aplikace Excel. Je to pohodlný způsob, jak používat e-mailová data ve svých projektech VBA Excel.

Je to snadné a efektivní

Otevření souboru MSG v programu VBA Excel se ukazuje jako snadný a efektivní úkol. Díky pohodlí a výkonu VBA můžete snadno importovat obsah souboru MSG do své excelové tabulky pro další analýzu dat.

Pro začátek budete potřebovat malý kód VBA, který vám umožní otevřít soubor MSG a extrahovat potřebná data. Pomocí funkce " CreateObject "můžete vytvořit objekt" Outlook.Aplikace", která vám umožní komunikovat s e-mailem Aplikace Outlook. Poté můžete použít metodu "GetNamespace" k získání přístupu k požadované složce poštovní schránky.

Dalším krokem je otevření souboru MSG. Použijte metodu "OpenSharedItem" a předejte jí cestu k souboru MSG. Poté můžete přistupovat k obsahu MSG, jako je odesílatel, příjemce, téma, Text zprávy a jakékoli přílohy.

Chcete-li importovat požadovaná data do tabulky aplikace Excel, vytvořte nový list v sešitu aplikace Excel a pomocí metod objektu "Range" umístěte data do požadovaných buněk. Cykly a podmíněné operátory můžete použít k dalšímu zpracování dat nebo třídění.

Když jste dokončili import dat, nezapomeňte zavřít soubor MSG a uvolnit všechny zdroje používané objektem aplikace Outlook a Excel.

Zde je příklad jednoduchého kódu VBA, který vám pomůže otevřít soubor MSG a importovat data do Excelu:

Sub ImportMSG()Dim objOutlook As ObjectDim objNamespace As ObjectDim objMail As ObjectDim strMSGFile As StringDim ws As Worksheet' Путь к файлу MSGstrMSGFile = "путь_к_файлу.msg"' Создание объекта OutlookSet objOutlook = CreateObject("Outlook.Application")' Получение доступа к папке почтового ящикаSet objNamespace = objOutlook.GetNamespace("MAPI")' Открытие файла MSGSet objMail = objOutlook.OpenSharedItem(strMSGFile)' Создание нового листа в ExcelSet ws = ThisWorkbook.Sheets.Add' Размещение данных в таблице Excelws.Cells(1, 1).Value = "Отправитель"ws.Cells(1, 2).Value = "Тема"ws.Cells(1, 3).Value = "Текст"ws.Cells(2, 1).Value = objMail.SenderEmailAddressws.Cells(2, 2).Value = objMail.Subjectws.Cells(2, 3).Value = objMail.Body' Закрытие файла MSGobjMail.Close olDiscard' Освобождение ресурсовSet objMail = NothingSet objNamespace = NothingSet objOutlook = NothingEnd Sub

Po tomto příkladu budete moci snadno a efektivně otevřít a importovat soubor MSG v programu VBA Excel. Nezbude vám než nastavit kód podle vašich potřeb a v případě potřeby přidat další funkce.