• ベストアンサー

VBAで変数定義のコンパイルエラーの解消

VBAでOutlookのメールを自動作成するコードをネットで探して実行したら最初の『Dim OutlookAP As Outlook.Application』のところで『コンパイルエラー:ユーザ定義型は定義されていません。』というメッセージが出て止まってしまいます。Outlookは起動してからVBAを実行しています。VBAの初心者です。この解消方法を教えて頂きたいので、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.1

以下のサイトを参考にしてMicrosoft Outlook Object Libraryの参照設定をしてください。 【エクセルVBA】エクセルVBAでOutlookを操作しよう! https://tonari-it.com/vba-outlook-object/

bigsky0819
質問者

お礼

ご回答ありがとうございました。 正常に動きました!!!

関連するQ&A

  • VBA コンパイルエラーの解消方法について

    VBAにおいてコンパイルエラーが発生しました。 内容はユーザー定義型は定義されていませんとのメツセージです。 ネットで調べてツールの参照設定内容についてはチエックしました。 それでも解消できません。 助けてください。

  • Access2000のVBAでコンパイルエラー

    Access2000のVBAで初歩的な質問があります。 「tblShi」というテーブルがあります。 フォームにボタン「btn1」を作り、 デザインビューでボタンのプロパティを開いて イベントのクリック時のところで、 「ビルダの選択」をコードビルダにしました。 そして「Private Sub btn1_Click()」の中に、最初に   Dim db As Database という記述をしています。 このフォームを開いてボタンを押すと、なぜか   コンパイルエラー   ユーザ定義型は定義されていません というエラーが表示されてしまいます。 たしかにコードを書いているときに、   Dim db As のところまで入れると、小さいウィンドウの中に たくさん候補が表されますが、 その中に「Database」というのがないです。 「QueryDef」とか「Workspace」とかもありませんでした。 (「Recordset」はありまして、それはコンパイルが通ります) いろいろな解説を見ても、やはり最初はどれも 「Database」型を宣言しているようなんですが… 何がよくないのでしょうか。 もしわかる方がいらっしゃったら教えてください。

  • コンパイルエラーです。 vba

    エクセルvbaからメールを生成したいのですが New Outlook.Application の部分でエラーになります。 コンパイルエラーです。 Outlookに参照設定せずに、Objectで宣言しているのが原因だと思いますが、 参照設定せずに、メールを立ち上げるにはどうすればいいですか? Sub Sample() Dim OlApp As Object Dim mItem As Object Set OlApp = New Outlook.Application Set mItem = OlApp.CreateItem(olMailItem) With mItem .To = "test@yahoo.co.jp" .Body = "test" .display End With End Sub

  • VBA コンパイル

    エクセルVBA初心者です。 コードを記述している際に、”迷惑な”コンパイルエラーが出てきます。 例えば dim i i= 記述中に、他をマウスクリックすると、コンパイルエラーになります。 エラーなのは重々理解していますが、実行時にエラーかどうか判定して欲しいです。 オプションで、順次コンパイルOFFなどして試行錯誤しましたが、不可能でした。 仕様なのでしょうか? エクセル2007

  • AccessVBAで「dim dbs as database」がエラーになる

    済みませんが、非常に基本的なことを聞かせていただきたいと思います。 AccessのVBAで関数を実行すると、いきなりエラーになりました。 dim dbs as database の文でエラーになり、「コンパイルエラー ユーザ定義型が定義されていません」というエラーメッセージが出ました。 databaseが定義されているような感じです。 どうすれば宜しいでしょうか?

  • 「コンパイルエラー :ユーザ定義型は定義されていません」の原因

    Excelのマクロで Sub Main() Dim ta As Value Dim tb As Value Sheet1.Cells(1, 1).Value = TimeValue("2:00") End Sub を実行すると 「コンパイルエラー :ユーザ定義型は定義されていません」が出ます。 「参照設定」の「参照可能なライブラリファイル」の一覧から「Microsoft Scripting Runtime」にチェックも入れました。 しかし結果は同じです。 Excel2007を使い始めて間もないのですが何が原因なのでしょうか。

  • VBAで変数定義の必要性について

    ==(1)================= Dim abc As Long abc = 5 ===================== ==(2)================= abc = 5 ===================== あるパソコンで(2)のコードで 「オブジェクトまたはライブラリが見つかりません」 とのエラーになります。(多数のパソコンでエラーになりません) VBAに対して、変数が定義されなくても、値をセットされた際に、 変数属性を与えるとのように考えれば良いですか。 以上、よろしくお願いします。

  • Excel2016 VBA

    Windows10 ,Excel2016 バージョン1809 , VBA7.1を使用しています。 下記のコード(ホームページに掲載されているコードを写して実行しようとした。)で、 Attributeの箇所に、 コンパイルエラーと構文エラーが出ます。 Module1をaaaにしたり、Attributesと書き換えたりしてもエラーが消えません。 どなたか正常にコンパイルする書き方を教えてください。 お願いします。 Attribute VB_Name = "Module1" '************************************ 'ラベル発行のサンプル '************************************ Option Explicit ' 各項目の配置定義用ユーザー定義 Private Type typLocation X As Long Y As Long COL As Long End Type Private Const cnsSH1 = "DATA" Private Const cnsSH2 = "LABEL" Private Const cnsSH1 = "設定" Private Const cnsOMIT = "除外" '******************************************************************************* ' ラベル発行 '******************************************************************************* Sub PrintLabels() Dim xlApp As Application Dim WBK As Workbook '本ブック Dim SH1 As Worksheet 'DATA Dim SH2 As Worksheet 'LABEL Dim SH3 As Worksheet '設定 Dim tblLoc(1 To 10) As typLocation '項目配置定義(ユーザー定義を配列化) End Sub

  • GetNamespaceで、コンパイルエラー

    アクセスからアウトルックの受信メールを操作しようとしているのですが Private Sub test1() Dim requestsFolder As MAPIFolder Dim appNameSpace As Namespace Dim requestMailItem As MailItem Dim i As Integer '受信フォルダの取得 Set appNameSpace = Application.GetNamepace("MAPI") Set requestsFolder = appNameSpace.GetDfaultFolder(olFolderInbox) ・ ・ ・ End Sub これを実行すると GetNamespaceで、コンパイルエラーになります。 Microsoft Outlook ○.○ Object Library で、アウトルックに参照設定はしているのですが アクセスからはGetNamespaceは使えないのでしょうか?

  • word 2010でコンパイルエラー

     word 2010でコンパイルエラーが発生します。ヘルプには次のメッセージが出ます。対処方法教えてください。 非表示モジュール <モジュール名> 内でコンパイルエラーが発生しました。 アプリケーション情報 保護されているモジュールにコンパイル エラーがあります。このエラーは、保護されているモジュール内にあるため、表示できません。 このエラーは一般に、実行中のアプリケーションのバージョンまたはアーキテクチャにコードが対応していない場合に発生します (32 ビット版の Microsoft Office アプリケーションを対象としているドキュメント内のコードを 64 ビット版の Office で実行しようとした場合など)。 このエラーの原因と解決方法は次のとおりです。 エラーの原因: このエラーは、VBA コード中の保護されている (非表示) モジュール内にコンパイル エラーがある場合に発生します。該当モジュールが保護されているため、問題となっているコンパイル エラー自体は明示されません。 解決策: ドキュメントまたはプロジェクト内の VBA コードにアクセスできる場合は、該当するモジュールの保護を解除してコードを再実行し、問題となっているエラーを確認します。 ドキュメント内の VBA コードにアクセスできない場合は、ドキュメントの作成者に問い合わせ、非表示モジュール内のコードを更新するように依頼してください。

専門家に質問してみよう