解決済みの質問
いつもお世話になっております。
掲題の件ですが、vbよりメーラーを起動して
立ち上がったメーラーの件名、本文、さらに任意の添付ファイルをつけた状態にしたいのですが、
これは可能なのでしょうか?
Windows ApiのShellExecuteを使用して、「mailto:○○@○.○?subject=件名&body=本文」までは
うまくいったのですが、添付ファイルのつけ方がわかりません。
ご存知の方がいらっしゃいましたらご教授ください。
よろしくお願いいたします。
失礼いたします。
投稿日時 - 2003-04-09 01:16:44
私も同じ問題(参考URL)で悩んだのですが、結局、「mailto:」はやめ、コンポーネントを使用することにしました。
CDO、BASP等の使用を検討されてみてはどうでしょうか?
コンポーネントを使用すればURLエンコードも不要ですし、楽だと思います。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=516290
投稿日時 - 2003-04-11 09:09:21
お礼
やはり同じ悩みを持った方がいらっしゃったのですね。
回答いただきました内容を参考にいたしまして何とかActiveXコンポーネントを使用して問題解決に至りました。
ご丁寧に解説いただきまして、ありがとうございました。
投稿日時 - 2003-04-25 12:44:07
1人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
昔、VBScriptで↓を作成したことあるので
(OutlookExpressオンリー & 無理やり)
VBでも可能でしょう。
SendToフォルダへ置きます。
---この下から
'Windows98以上 + Script Host5.6以上 + Internet Explorer5.5以上
Option Explicit
dim objArgs
dim WshShell
Set objArgs = WScript.Arguments
Set WshShell = WScript.CreateObject("WScript.Shell")
if WScript.Version < "5.6" then
WScript.Echo "Windows Script Host 5.6 をインストールしてください"
WScript.Quit
end if
Dim targetfile
dim stra,prog,BtnCode
dim Address , titleName
Address = "itto1@ittochan.co.jp;itto2@ittochan.co.jp"
titleName = "件名"
prog = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msimn.exe\")
prog = chr(34) + prog + chr(34)
wshShell.Run(prog+" /mailurl:mailto:"+Address +"?subject="+titleName)
dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
IE.Visible = false
IE.Navigate "about:blank"
Do While IE.Busy
Wscript.Sleep 10
Loop
dim j
stra = IE.Document.parentWindow.clipboardData.getdata("text")
For Each targetfile In objArgs
IE.Document.parentWindow.clipboardData.setdata "text",targetfile
for j=0 to 600
WScript.Sleep(100)
if wshShell.AppActivate( titleName ) then
exit for
elseif j=599 then
fin()
end if
next
wshShell.SendKeys("%IA")
for j=0 to 600
WScript.Sleep(100)
if wshShell.AppActivate("添付ファイルの挿入") then
exit for
elseif j=599 then
fin()
end if
next
WScript.Sleep(500)
wshShell.SendKeys("%N^V%A")
next
if objArgs.Count<1 then
BtnCode = WshShell.Popup("添付ファイルがないよ",2,,16)
else
BtnCode = WshShell.Popup("添付完了!!",2,,64)
end if
fin()
sub fin()
if stra <> Null then
IE.Document.parentWindow.clipboardData.setdata "text",stra
end if
IE.Quit
WScript.Quit
end sub
投稿日時 - 2003-04-11 00:05:49
お礼
回答が遅れまして申し訳ありませんでした。
上記ソースでメーラーが立ち上がるようになりました。
ありがとうございました。
しかし、メーラーが限定されることもあり
結局MAPIコンポーネントを使用することにいたしました。
ご丁寧に解説いただきましてありがとうございました。
投稿日時 - 2003-04-25 12:42:16
OKWaveのオススメ
おすすめリンク