[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ExcelからOutlookを操作するVBAにおける参照設定不備対策について』(ゆき)
お世話になります。
ExcelからOutlookを操作するマクロを組もうとしたところ、「ユーザ定義型は定義されていません。」とのエラーが出てしまうので、それを解消する方法についてご教示いただけますでしょうか。
現在、ツール>参照設定で参照が確認できるのは以下の項目で、「Microsoft Office ● Object Library」にチェックが入っているので、参照設定に問題があるとは思えないのですが、それ以外のエラーを検証するところまで進めておらず。
御面倒をおかけしますが、よろしくお願いします。
【参照設定でチェックの入っている項目(順序も以下のとおり)】
Visual Basic For Applications
Microsoft Excel ● Object Library
OLE Automation
Microsoft Office ● Object Library
Microsoft Scripting Runtime
【表示されるエラー】
以下の「Dim myOL As Outlook.Application」の行が引っかかり、「コンパイルエラー:ユーザ定義型は定義されていません。 」と表示される。
【コード内容】
※「Outlook.mailitem」の「item」が自動で「Item」にならないあたり、参照設定不備なのではと考えていますが、そもそもVBAについて体系立てて学べたことがないので、おかしいところがあればご指摘いただけるとうれしいです。
Sub autoEmail()
ThisWorkbook.Activate
Dim myFilePath, myFileName As String
Dim myOL As Outlook.Application
Dim newMail As Outlook.mailitem
Dim mailSheet As Worksheet
myFilePath = Range("b6")
myFileName = myFilePath & "\" & Range("b5")
Set myOL = CreateObject("Outlook.Appliaction")
Set newMail = myOL.CreateItem(olMailItem)
Set mailSheet = Worksheets("メール")
With mailSheet
newMail.To = mailSheet.Range("B7") newMail.Cc = mailSheet.Range("B8") newMail.Subject = mailSheet.Range("C9") newMail.body = mailSheet.Range(Cells(3, 1), Cells(3, 8)) On Error GoTo mailError newMail.attachments.Add myFileName & ".zip" newMail.display End With
Set myOL = Nothing
Set newMail = Nothing
Exit Sub
mailError:
MsgBox "添付ファイルが所定の場所に格納されていません。格納先か名称を確認してください。" With mailSheet newMail.display End With
Set myOL = Nothing
Set newMail = Nothing
Exit Sub
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
https://www.google.com/search?q=Outlook+%E5%8F%82%E7%85%A7%E8%A8%AD%E5%AE%9A
(わからん) 2022/07/12(火) 16:16
Set myOL = CreateObject("Outlook.Appliaction")も入れているので、参照設定がうまくいかなくてもこれで補完できるのではと考えているのですが、そういうわけでもないようでして。
初心者で申し訳ございませんが、よろしくお願いします。
(ゆき) 2022/07/12(火) 16:28
そうですか。
見当たらないので、視力が落ちたのかもしれません。
>補完できるのではと考えているのですが、そういうわけでもないようでして。
補完されません。
(わからん) 2022/07/12(火) 16:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.