Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Access2007でのメール送信エラー SendObject

1,225 views
Skip to first unread message

SendObject

unread,
Feb 16, 2010, 7:20:04 PM2/16/10
to
規定のメールソフトをOutlookにした場合には正常に動作するが、
規定のメールソフトをWindows Liveメールにすると、
Windows Liveメールの初期画面は起動するが、
メール作成画面は起動せずAccess側でエラー:2296が発生してしまいます。

また引数のeditmessageをFalseに設定した場合でもアプリケーションが起動してしまいます。

なにか回避策はないでしょうか。

使用コード adpで作成
DoCmd.SendObject acSendNoObject, , , str_To, , , str_Subject, str_Body, False

環境
OS:WindowsXP
Access:Access2007
備考
Access2000での動作は問題ありません。
editmessageをFalseに設定した場合でもアプリケーションが起動してしまいますが。

以上よろしくお願いします。

Mio Yoshida

unread,
Feb 19, 2010, 9:24:03 AM2/19/10
to
けろ-みお です。

> 使用コード adpで作成
> DoCmd.SendObject acSendNoObject, , , str_To, , , str_Subject, str_Body, False

私のところでもAccess 2007 で、SendObjectすると、
2296というエラーが発生しましたが、下記を対応を行ったところ
何故か、Windows Live メールでも送信できるようになりました。
参考になるかわかりませんが、対応した手順を記しておきます。

手順1:DoCmd.SendObject acSendNoObject, , , str_To, , , str_Subject, str_Body, False
    をOutputFormatを指定するよう修正

例:DoCmd.SendObject acSendNoObject, , acFormatTXT, str_To, , , str_Subject, str_Body, False

※テキストで送信する例です。リッチテキストやHTMLメールで送信する場合は、
acFormatRTF、acFormatHTML を指定しても良いです。
私の端末では元々、テキストメールで送信する設定をWindows Liveメールに行っていたので
acFormatTXT を指定しました。

手順2:デバッグモードでDoCmd.SendObject を実行している箇所を実行
    (恐らくこれでもまだエラーが出ると思います)

手順3:元のコード
    「DoCmd.SendObject acSendNoObject, , , str_To, , , str_Subject, str_Body, False」
    で実行

理由はわかりませんが、私の場合は、これでメール送信できるようになりました。

もし上記でもダメな場合は、メーラーの情報が書きかえられてしまった等
(例:Accessをインストールした後にWindows Live メールをインストールした等)
が考えられるので、Accessを再インストールするしかなさそうです。

いずれにしても、SendObjectはいろいろと環境に左右されやすい
旧来から問題のあるオブジェクトですので、確実にメール送信されたい場合は、
BASP21 を参照設定して使った方が無難です。
http://www.hi-ho.ne.jp/babaq/basp21.html

ご査収の程、宜しくお願いします。


--
けろ-みお(Mio Yoshida)
Microsoft MVP for ASP/ASP.NET - Jan.2008 - Dec.2010

0 new messages