
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
1.Visual Basic 6.0 のランタイムのダウンロードは下記のサイトで可能です。
http://www.vector.co.jp/soft/win95/util/se342080 …
2.Msmapi32.ocxをインストールすれば、[参照の追加]-[COM]を選択した時に Microsoft MAPI Controls 6.0 が表示されるはずなので、それを追加してください。
korin_さん、正常に添付してメール送信が出来ました。
ご指導いただきましたとおり、Visual Basic 6.0 のランタイムのダウンロードし、
Msmapi32.ocxをインストールして、VB.Netの「参照の追加」で[COM]タグにありま
したMicrosoft MAPI Controls 参照の追加を行いました。
今度はご指導いただきましたコードをボタンのイベントハンドラに貼りつけても
エラーはなく、ボタンを押すことによって「メッセージの作成」画面が指定した添付
ファイルと共に正常に表示されました。続けて[送信]ボタンを押すと正常に着信
されました。この方法を他の人にも教えることをこの場を借りてお願いいたします。
感動です。感動です。なんとお礼を申し上げてよいのか・・・
少し、このボタンを押して楽しみたいと思います。ありがとうございました。
No.6
- 回答日時:
MAPIを参照設定するためのOCXがないのかもしれません。
Msmapi32.ocx は Visual Basic 6.0 のランタイムにありますので、インストールして確認していただけますか?
この回答への補足
korin_さん、早速の回答ありがとうございます。
私はPCやソフトの開発経験が浅く、korin_さんのご指導内容が十分
理解できなく困っています。以下の追加質問をさせてください。
1.Visual Basic 6.0 のランタイムはどのサイトからインストール
すればいいのでしょうか(私はWindows XP PROです)
2.Visual Basic 6.0 のランタイムの中にMsmapi32.ocx があるのだと
理解しましたが、このMsmapi32.ocxをどのようにすれば Microsoft
MAPI Controls の参照設定(追加)が出来るのでしょうか。
もうしばらくお付き合いいただけますよう、よろしくお願いいたします。
No.5
- 回答日時:
[COM] - Microsoft MAPI Controls です。
この回答への補足
korin_さん、何度もすみません。
COMの中で「M」の付くControls は下のものしかなく、
見つからないのですが,VB.2005 EEだからでしょうか。
Microsoft Management Cosol 2.0
Microsoft Masked Edit Control 6.0
Microsoft MIMEEDIT Type Library
Microsoft Multicast Addres Allocation Clinet COM
私はWindowsアプリケーションを開発して現在ClickOnceによる配布の
テストをしていますが、次のような問題を感じて、SMTPサーバー名を
使った自動メール送信に疑問を感じております。
1.SMTPサーバー名をユーザーに設定させる時「なにかCPの中身を見られる
パスワードを設定させられている」との意見があります。
2.メールで送信する場合は全自動のため添付送信されているファイルをユーザー側
で確認できなく、何を送信させられているか不安であるとの意見もあります。
3.ウイルス対策ソフトのパーソナルファイアウォールに阻止されて送信できない
PCが多くてトラブルになります。
以上のことからどうしても、「メッセージの作成画面」までは自動にして
ユーザーが添付ファイルを確認してから[送信]ボタンを押すようにして
やりたく考えております。
さらに添付するファイルはClickOnceで配布したデータファイルの圧縮
ファイルで保存場所のフルパスは深くてとてもユーザに設定させること
は難しいと思いますので、ぜひ添付ファイルをプログラムで設定しメール送信
できますようMicrosoft MAPI Controls の参照設定方法をご教授下さい。
よろしくお願いいたします。
No.4
- 回答日時:
こんにちは。
起動するメーラを MS Outlook または Outlook Express に限定しても良いのなら、MAPIを使用する事でお望みの動作が可能と思います。
一応サンプルコードを載せておきます。
------------------------------------------------------------------------
' 参照の追加で MSMAPI を追加する
Try
Dim mapisettion As New MSMAPI.MAPISession
mapisettion.SignOn()
Dim mapimessages As New MSMAPI.MAPIMessages
With mapimessages
.SessionID = mapisettion.SessionID
.Compose()
.RecipType = 1
.RecipDisplayName = "テストさん"
.RecipAddress = "****@****+++.++.jp"
.MsgSubject = "テスト件名"
.MsgNoteText = "本文内容"
.AttachmentPathName = "C:\Hoge.txt"
' 手動送信
.Send(True)
End With
mapisettion.SignOff()
Catch ex As Exception
' MS Outlookの場合、送信せずにキャンセルされた場合は例外が発生する・・・?
End Try
------------------------------------------------------------------------
この回答への補足
korin_さん、ありがとうございます。昨日と今日のほぼ2日間、いろんな掲示板やGoogleで
添付の仕方を調べていましたが見つからずほぼあきらめていました。本当に助かります。
まだテストしていませんがそのまま貼りつけますとMSMAPI.MAPISession
に「定義されていません」のエラーだ表示されます。おそらくkorin_さんのご指摘の「参照の
追加で MSMAPI を追加する」だと思います。参照設定の方法を勉強して明日テストして報
告いたします。取り急ぎ回答いただいたことをお礼申し上げます。
korin_さん、捕捉の続きをお礼に記述して申し訳ありません。
参照設定の「参照の追加」画面にMSMAPIが見当たらず、つまずいています。次のどのタグにあるのでしょうか
[.NET][COM][プロジェクト][参照]
よろしくご指導下さい。
No.3
- 回答日時:
diashunです。
「Option Explicit」は変数の宣言を明示的に記述する(Dim aaa As String など)ことをいいます。VBでは変数を宣言しなくても動作はしますが、変数の重複や記述ミスを避けるため、私は必ず「Option Explicit」をモジュールの最初に記述します。VB(私のばあいは、VB6.0 SP6)のメニューバーの「ツール」→「オプション」で「変数の宣言を強制する」にチェックを入れると、自動的にモジュールの先頭行に記述されます。
「oMsg」については「CDO.Message」がObject型であり、そのObjectを継承するクラスとして、バリアント型としています。
「strFROM」、「strCC」についてですが、「strCC」は空文字でも問題ないと思いますが、「strFROM」については、空文字でも送信可能ですが、習慣として明示するようにしています。
この回答への補足
diashunさん、明快な回答ありがとうございました。最初に学んだことな
のに忘れていました。またソフトの勉強は、個の様に他人と接することで
大変勉強になりました。
Option Explicit が変数の明示的宣言を自主規制していること
Dim Ws, Sendcmd, oMsg の型指定がないのはバリアント型であること
strFROM は、習慣として明示するようにしていること
大変明快に理解できました。
続けて、添付に関に関する設定方法ですが、どうしても実現したいと
考えておりますので、どの関連を調べればよいのかご存知であれば
ヒントだけでもご提示たらければありがたいと思っています。
どうも本当に助かりました。
本当にありがとうございました。
No.2
- 回答日時:
diashunです。
補足です。先ほどのコードでOutlock Express を起動させるにはインターネットオプションでメールプログラムの指定を「Outlock Express」にすることが前提です。この回答への補足
diashunさん、正常に動作しました。感動です。
ご提示いただきましたコードを私なり書き換え Button_Click 時のイベントハンドラーとしてテストしてみました。
Dim Ws, Sendcmd, oMsg
Dim strTO As String = "****@****+++.++.jp"
Dim strSubject As String = "テストNewtest"
Dim strBody As String = "New1108これはテストテストテスト"
On Error Resume Next '---------------------------------- エラーで停止しない
Ws = CreateObject("WScript.Shell") '-------- COM オブジェクトへの参照を作成
oMsg = CreateObject("CDO.Message") '---------- CDO.Message オブジェクト生成
oMsg.To = strTO '------------------------------------------------- 宛先指定
oMsg.Subject = strSubject '------------------------------------- 件名を指定
oMsg.TextBody = strBody '--------------------------------------- 本文を指定
Sendcmd = "mailto:" & strTO & "?Subject=" & strSubject & "&body=" & strBody
Ws.Run(Sendcmd)
このコードで私には解らない部分がありますので以下に追加で質問させてください。
1、Option Explicitの意味を教えてください
2.Dim Ws, Sendcmd, oMsg とありますのはDim Ws, Sendcmd, oMsg As String の間違いでは?
3.strFROM = "*******@******.**.jp"が作用していないので消しましたが問題ないでしょうか?
4.strCC = "********@+++o.ne.jp"も動作していませんので削除しましたが問題ありませんか
以上
とにかく正常に動作していて感動しています。
添付に関しても少し調査して、わかりましたらここに掲載します。
本当にありがとうございました。
diashunさん、早速のお返事ありがとうございました。
実は木曜日から悩んでまして、大変助かりました。実際にテストするのは
明日になりますが、取り急ぎお礼だけでもと思い投稿しました。
わからないところがあれば、ここで追加質問させていただきますので
よろしくお願いいたします。
No.1
- 回答日時:
ご参考になれば・・・
昔作成したソースの一部ですが、これでOutLoockのメッセージ作成画面が起動できるはずです。
添付ファイルについては他の識者のヘルプ待ちということで・・・。
(strFROM、strTO、strCC は適宜変更してください。)
Option Explicit
Public Sub SendMailTest()
Dim Ws, Sendcmd, oMsg
Dim strFROM As String, strTO As String, strCC As String
Dim strSUBJECT As String, strBody As String
On Error Resume Next '--- エラーで停止しない
Set Ws = CreateObject("WScript.Shell")
Set oMsg = CreateObject("CDO.Message") '--- CDO.Message オブジェクト生成
strFROM = "*******@******.**.jp"
strTO = "****@****+++.++.jp"
strCC = "********@+++o.ne.jp"
strSUBJECT = "テストNewtest"
strBody = "New1108これはテストテストテストテストテストテストテストテストテストテストテストテスト"
oMsg.From = strFROM '--- From を指定
oMsg.To = strTO '--- To を指定
oMsg.CC = strCC '--- To を指定
oMsg.Subject = strSUBJECT '--- Subject を指定
oMsg.TextBody = strBody
Sendcmd = "mailto:" & strTO & _
"?Subject=" & strSUBJECT & _
"&body=" & strBody
Ws.Run Sendcmd
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(メールソフト・メールサービス) サンダーバードでメールが受信されない 10 2022/03/24 17:00
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- Gmail gmail から docomo メールに送信できません 4 2022/06/25 00:41
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- その他(Microsoft Office) officeのWordで作成した文章をメール添付してしたい 3 2023/08/07 07:12
- Outlook(アウトルック) 「送信トレイに未送信のメッセージがあります。このまま終了すると、次にoutlookを起動するまでメッ 1 2023/02/24 15:13
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
texに関する初歩的な質問
-
OutlookExpressの「メッセージ...
-
JUnit結果出力をファイルに書き...
-
仕様書に書かれていないこと
-
納品 vs ご納品 どちらが正し...
-
三菱製PLC:ファイルレジスタ(...
-
「スポット受注」はどういう意...
-
ドキュメント作成について
-
戻り番地を逃がしておくの意味...
-
納入日と納品日について
-
Zと2とか紛らわしいのがあるか...
-
グーグルの障害者訓練プログラ...
-
株価の終値を自動入力し、自動...
-
テストについて
-
営業職をやってます。先月発注...
-
オブジェクト指向でないプログ...
-
インプットとアウトプット
-
formで送信したPOSTデータの削...
-
長さ0の文字列を格納できません...
-
プログラムコードの読解力の鍛え方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
texに関する初歩的な質問
-
JUnit結果出力をファイルに書き...
-
C#単体テストで同クラス内の呼...
-
Verilogの参考書のお勧めを教え...
-
UPS APC製 C#2005でバッ...
-
C#の単体テストでローカル変数...
-
Visial C++におけるプログラミング
-
携帯サイトのテスト
-
Mac上でCGIのテストをしたいです
-
ホームページ・ビルダーで「e...
-
プログラムの動作テストの仕事...
-
テスト仕様書作成って初心者(...
-
Javaランタイムの対応OSについて
-
VBからBeckyを使用したメール送...
-
HWNDへの変換
-
単体試験 ブラックボックステス...
-
Excel-VBA コンテンツの作成日時
-
ソフトウェアテストに関して、s...
-
VB6 コードでメニュー作成
-
仕様を口伝えって普通ですか?
おすすめ情報