とりあえず変換する関数を作ってみました。
MSGファイルは、一旦HTML化したものをワークブックとして開きそれをPDFに変換しています。
TXTファイルは直接ワークブックとして開きPDFに変換しています。
ただTXTファイルは文字コードがSJIS限定です。
何かの設定でUNICODEにも対応できたと思うのですが失念しました。
思い出したら追記します。
VBA
1Sub test()
2 Call Msg2Pdf("aaa.msg", "aaa.pdf")
3 Call Txt2Pdf("bbb.txt", "bbb.pdf")
4End Sub
5
6Sub Msg2Pdf(msgf As String, pdff As String)
7
8 Dim ol As Outlook.Application
9 Dim msg As Outlook.MailItem
10 Dim wb As Workbook
11 Dim htmlf As String
12
13 htmlf = msgf & ".html"
14
15 ' MSGファイルを開く
16 Set ol = New Outlook.Application
17 Set msg = ol.CreateItemFromTemplate(msgf)
18
19 ' HTMLに変換
20 msg.SaveAs htmlf, olHTML
21
22 ' Outlook後始末
23 msg.Close olDiscard
24 Set msg = Nothing
25 Set jol = Nothing
26
27 ' HTMLファイルを開く
28 Set wb = Workbooks.Open(htmlf)
29
30 ' PDFに変換
31 wb.ExportAsFixedFormat xlTypePDF, pdff
32 wb.Close
33 Set wb = Nothing
34
35 ' HTMLファイル削除
36 Kill htmlf
37
38End Sub
39
40Sub Txt2Pdf(txtf As String, pdff As String)
41
42 Dim wb As Workbook
43
44 ' TXTファイルを開く
45 Set wb = Workbooks.Open(txtf)
46
47 ' PDFに変換
48 wb.ExportAsFixedFormat xlTypePDF, pdff
49 wb.Close
50 Set wb = Nothing
51
52End Sub
53
54
55
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 02:51
2020/09/23 03:03
2020/09/23 04:08