DOBON.NET DOBON.NETプログラミング掲示板過去ログ

MAPIからのメーラー起動についての疑問

環境/言語:[XP,VB6(SP5)]
分類:[VB6以前]

いつもお世話になっております。

現在、ボタンをクリックするとデフォルトのメーラーを起動する画面を
作成しております。

初期セットされた表題、本文をセットし、それ以降は使用する担当者が
宛先、本文の変更を行い各自で送信を行うという仕様なので
PGからは各自マシンの規定のメーラー(Outlook)を起動し、その際に表題、
本文をセットすればいいといういたってシンプルな動作です。
(添付もなしです)

インターネットで起動方法を見つけて「mailto:?…」が簡単だったので
これで問題ないかと思ったのですが、本文としてセットする文字数が
大きくなる場合がありmailtoで起動できない事があったのでMAPIで起動
することになりました。
幸い、使用するメーラーはOutlookに限定されており、問題ないので
以下のような簡単なロジックで起動することにしました。

Private Sub Command1_Click()
MAPISession1.SignOn
With MAPIMessages1
.SessionID = MAPISession1.SessionID
.Compose
.RecipDisplayName = "test"
.RecipAddress = "test@test.co.jp"
.MsgSubject = "件名"
.MsgNoteText = "内容"
.Send True
End With
MAPISession1.SignOff
End Sub

これで問題なく起動できたのでその日はEXEまで作成して動作確認を行いました。
ところが作成した翌日マシンを立ち上げ、Outlookも起動されていた状態で
このEXEからボタンをクリックしたところ、「予期せぬエラーが発生しました」
とエラーとなり、動かなくなりました。

もしかしたらマシンがおかしくなったかと思い、
IEより「mailto:?subject=表題&body=本文」を入力したところ、メーラーの
立ち上げは問題なく出来たので再度、上記EXEからボタンをクリックしたところ
今度は正常にメーラーが起動されました。

もしやと思い、再度マシンを立ち上げなおし、いきなりEXEからボタンを
クリックしてもエラーになるのですが、「mailto:?…」で一度メーラーを
立ち上げた後は問題なくEXEからメーラーが起動されます

上記ロジックで起動はされるので間違いないと思っていたのですが、
初期処理とかがあるかと思っていろいろ探しているのですが、私の探し方が
下手なのかそういった内容のものが見つかりません。

もし、解決策が分かる方がおりましたら教えて頂けないでしょうか?

よろしくお願いします。
■No25720に返信(AYANEさんの記事)
> 上記ロジックで起動はされるので間違いないと思っていたのですが、
> 初期処理とかがあるかと思っていろいろ探しているのですが、私の探し方が
> 下手なのかそういった内容のものが見つかりません。
>
> もし、解決策が分かる方がおりましたら教えて頂けないでしょうか?

  http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200908/09080006.txt
  http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200407/200407_04070096.html

  上記のことより、解決?・・・
  と言う風に見えましたが、ダメなようですネ。

  ただ、『できた』と思われる掲載されたコードと、ほんの少々、
  相違があります。試行してみては?

以上。参考まで
この投稿はマルチポストです。

●マルチポストされている場所
http://bbs.wankuma.com/index.cgi?mode=al2&namber=43641

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html

DOBON.NET | プログラミング道 | プログラミング掲示板