前提・実現したいこと
VBAリファレンスに載っていない構文(書き方)は皆さんどこでお知りになるのでしょうか。
いま下記のソースコードに記載したコードを書いています。
もとはネットからの寄せ集めで、ひとつひとつどんな構造か調べながら微修正しているような形です。
たとえば、 この部分↓
lang
1Set mySubfolder = myInbox.Folders.Item("格納用")
成り立ちを確認しようと思ってネットを調べて、
FoldersコレクションやItemメソッドについてのこれらのページ
http://outlook-navi.com/vbs/vbs56.htm
http://outlook-navi.com/vbs/vbs64.htm
を読みます。一応なるほどそう書けばいいのか、と思います。
ではリファレンスではどう書いてあるのかとリファレンスを見ると
[Itemのリファレンス]
https://docs.microsoft.com/ja-jp/office/vba/api/outlook.items.item
⇒("ファイル名")にすればいいってなぜわかるの?と疑問に思う
[Foldersコレクションのリファレンス]
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/folders-collection
⇒.Foldersという書き方はどこからきたの?と疑問に思う
いまいち解決しなくて、一応動くので、このままやり過ごしてしまうのですが。。。
リファレンスに構文として載っていないということは、オフィシャルな書き方ではないということなんでしょうか。
ベースの知識として”そう書くもの”と分かるべき部分なんでしょうか?
ご助言いただけたら幸いです。
該当のソースコード
lang
1Sub GetMail() 2 3 Dim objOutlook As Outlook.Application 4 Dim myNamespace As Outlook.Namespace 5 Dim myInbox As Object 6 Dim mySubfolder As Object 7 Dim i As Integer 8 9 Set objOutlook = New Outlook.Application 10 Set myNamespace = objOutlook.GetNamespace("MAPI") 11 Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox) 12 Set mySubfolder = myInbox.Folders.Item("格納用") 13 14 For i = 1 To mySubfolder.Items.Count 15 With ThisWorkbook.Worksheets("Sheet1") 16 .Cells(i + 1, 1).Value = mySubfolder.Items(i).SentOn 17 .Cells(i + 1, 2).Value = mySubfolder.Items(i).Subject 18 .Cells(i + 1, 3).Value = mySubfolder.Items(i).Body 19 End With 20 Next i 21 22End Sub