メーラーに添付ファイルをつける方法

解決済みの質問

メーラーに添付ファイルをつける方法

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

掲題の件ですが、vbよりメーラーを起動して
立ち上がったメーラーの件名、本文、さらに任意の添付ファイルをつけた状態にしたいのですが、
これは可能なのでしょうか?

Windows ApiのShellExecuteを使用して、「mailto:○○@○.○?subject=件名&body=本文」までは
うまくいったのですが、添付ファイルのつけ方がわかりません。

ご存知の方がいらっしゃいましたらご教授ください。
よろしくお願いいたします。

失礼いたします。

投稿日時 - 2003-04-09 01:16:44

QNo.518284

困ってます

質問者が選んだベストアンサー

 
私も同じ問題(参考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

ANo.2

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.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

あわせてチェックしたい
  • mailtoで件名 ...
  • 表題?標題?掲題? ...
  • mailtoの件名 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら