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を探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでエクセルのテキストデータ...
-
ExcelのVBAコードについて教え...
-
Excel VBAについて。こんな動作...
-
不要項目の行削除方法について
-
VBAでセルの書式を変えずに文字...
-
VBAコードのインデント表示
-
VBAで特定の文字が入った行をコ...
-
[Excel VBA]特定の条件で文字を...
-
VBA レジストリの値の読み方に...
-
【VBA】 結合セルに複数画像と...
-
Excel 範囲指定スクショについ...
-
ExcelのVBAコードについて教え...
-
Excelのマクロについて教えてく...
-
【マクロ】オートフィルターに...
-
Excelのマクロについて教えてく...
-
VBA 同じフォルダ内のすべての...
-
vba Windowオブジェクト(Window...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Excelのマクロについて教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
texに関する初歩的な質問
-
C#単体テストで同クラス内の呼...
-
VBからBeckyを使用したメール送...
-
C#の単体テストでローカル変数...
-
Verilogの参考書のお勧めを教え...
-
テスト仕様書作成って初心者(...
-
Excel-VBA コンテンツの作成日時
-
HWNDへの変換
-
仕様書に書かれていないこと
-
UPS APC製 C#2005でバッ...
-
VB6 コードでメニュー作成
-
ハノイ塔の非再帰について
-
EXCEL_VBAでOracleにADO接続し...
-
P2P地震速報のEEW APIの仕様書...
-
OutlookExpressの「メッセージ...
-
ホームページ・ビルダーで「e...
-
JUnit結果出力をファイルに書き...
-
AtomPubでlivedoorブログに記事...
-
二分検索のサイトを探しています。
-
A.B(C.D...)テストで使用するリ...
おすすめ情報