- PR -

VB2005でMAPIを使うには

投稿者投稿内容
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-04-10 19:13
 前回ご指導頂きやはりMAPIでメールを送信しようと思いまして
紹介して頂いたMicrosoftのCDOのサイトを見まして
Dim objSession As MAPI.Sessionとコディングしましたが
定義されていませんのエラーになります。

VB6.0の時は、MAPIのOCXをコンポーネント追加しました。

VB2005でMAPIを使いたいのですが
ご教授していただけないでしょうか?

宜しくお願いします。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-10 20:25
引用:

LANVINさんの書き込み (2007-04-10 19:13) より:

Dim objSession As MAPI.Sessionとコディングしましたが
定義されていませんのエラーになります。


[参照の追加] から参照を追加してください。
コントロールならば、ツールボックスの [アイテムの追加] からどうぞ。

ところで、こんなものはいかがでしょう?
http://www.codeproject.com/useritems/VBMAPIEx.asp

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-04-11 17:04
じゃんぬねっとさん、ありがとうございます。

できれば自作でと思いまして
参照とか探すのですが

MAPIは何を追加参照するべきなのでしょうか?
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-04-11 17:04
じゃんぬねっとさん、ありがとうございます。

できれば自作でと思いまして
参照とか探すのですが

MAPIは何を追加参照するべきなのでしょうか?
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-04-12 15:21
じゃんぬねっとさん
スミマセン、ありました。
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-04-12 17:58
 すいません、もう1回投稿させて下さい。
みなさんのおかげで何とかVB2005でもMAPIを使ってメールを
送ることができました。

ツールボックスアイテムの追加でMAPIコントロールをFORMに追加しました。

でもこの処理をDLLにしたい為、クラスモジュールにすると
ツールボックスからMAPIコントロールの追加ができないため

With AxMAPISession1
.DownLoadMail = False
.SignOn()
End With
'**************************************
With AxMAPIMessages1
.SessionID = AxMAPISession1.SessionID
.Compose()
.RecipDisplayName = pRecipDisplayName
.RecipAddress = pRecipAddress
.MsgSubject = pMsgSubject
.MsgNoteText = pMsgNoteText
.MsgReceiptRequested = True
.AttachmentPathName = pAttachmentPathName
.Send(False)
End With

AxMAPISession1のところで、
名前AxMAPISession1は宣言されていませんのエラーになります。

不可能なのでしょうか?


かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-04-12 18:16
引用:

LANVINさんの書き込み (2007-04-12 17:58) より:

ツールボックスアイテムの追加でMAPIコントロールをFORMに追加しました。

でもこの処理をDLLにしたい為、クラスモジュールにすると
ツールボックスからMAPIコントロールの追加ができないため



Form と 新しく作成したクラスは別物でしょ?
だったらクラス側にインスタンスを作らないと。

まずソースの頭に
コード:
Option Explicit On
Option Stricit On


を追加すると良いですよ。
_________________
かるあ のメモスニペット
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-12 23:38
引用:

かるあさんの書き込み (2007-04-12 18:16) より:

まずソースの頭に

Option Explicit On
Option Stricit On

を追加すると良いですよ。


"名前 AxMAPISession1 は宣言されていませんのエラーになります。" とあるので、
Explicit は On になっているでしょうし、Strict に関してもコンパイル エラーとは関係ないですよ。

# 私の投稿も本筋とは関係ないですけどw

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)