過去の桐井戸端BBS (桐ver.9)
29160 mailto:を使ってhtmlの添付は出来ますか? ぽこちゃん 2005/02/25-20:48
初めて投稿いたします。
フォームのボタンを押したときにイベント処理でHTMLファイルを作成し
直ちにmailto:コマンドを使いHTMLファイルを添付された状態でOutlook Expressを立ち上げたいのですが、
何方か教えてください!

今の状態は下記の通りです。

手続き定義開始 HTML( )
レポート印刷 "Pacific HTML.rpt",編集表 = する,\
会話 = しない, プレビュー = しない,\
HTMLファイル名 = "C:\K3\Data\xxx.htm", 分割出力 = しない
シェル実行 "Mailto:"+ "xxxxx@xxxxx.com"+ "subject=INQUIRY"
手続き定義終了

この先HTMLを添付させるには、どの様に?
よろしくお願い致します。
29175 Re:mailto:を使ってhtmlの添付は出来ますか? 今村 誠 2005/02/26-20:16
記事番号29160へのコメント
ぽこちゃんさんこんにちは
コマンドラインから添付ファイルを指定できるメーラー[エドマックス]とpdf作成ソフト
クセロPDFを使用してみました。htmlはもっと簡単にできると思いますが、印刷したり
閲覧に難点があるようだったので変更してみました。
手続き定義開始 PDF添付(Str &rptname)
   var Long{&終了,&部数,&絞込判定}
   call 印刷判定(&rptname,&rptname,&部数,&終了,&絞込判定)
   cond(&終了=9) return
 var Str{&起動メールソフト,&oppara,&送信先ad,&本文,&添付ファイル,&Q="""",&起動本文,&プリンタ名}
 &起動メールソフト="C:\onlin\edmax\edmax.exe",&送信先ad="ぽこちゃん@freecom.ne.jp"\
 ,&添付ファイル="C:\Documents and Settings\ぽこちゃん\My Documents\ぽこちゃん.pdf",&本文="メール本文.txt"\
 ,&起動本文="メール本文.bat"
  if (#FSIZE(&本文)>0)
   call 指定ファイル削除(&本文,&終了)
  end
  if (#FSIZE(&添付ファイル)>0)
   call 指定ファイル削除(&本文,&終了)
  end
 call プリンタ選択(&プリンタ名)
 プリンタ &プリンタ名, 終了状態=&終了
  if (&終了=0)
    確認 "プリンタエラーで印刷を中止した"
    return
  end
   レポート印刷 &rptname,部数=&部数,開始ページ=1,終了ページ=0,罫線印字=する\
   ,カラー印刷=しない,ソート=する,編集表=する,会話=しない,プレビュー=しない,終了状態=&終了
  if (&終了=-1)
    確認 "印刷を中止した"
  else if (&終了=0)
    確認 "エラーが発生した"
  end /* 1 :印刷は正常に終了した*/
  印字開始 &本文, 終了状態=&終了
   印字 [得意先名]," 様御中"
   印字 &自店名," ",#日付(#日時値,1)
   印字 "見積書を送付致します。ご確認して下さい。"
  印字終了 改頁=しない
 &本文=#ファイル名(&本文,1),&oppara=" /A="+&送信先ad+" /T=3 "+&Q+&本文+&Q
  if (#FSIZE(&起動本文)>0)
   call 指定ファイル削除(&起動本文,&終了)
  end
  印字開始 &起動本文, 終了状態=&終了
   印字 &Q,&起動メールソフト,&Q,&oppara
  印字終了 改頁=しない
 シェル実行 &起動本文,表示=最小化
 繰り返し (#FSIZE(&添付ファイル)<1)
  call ウェイト(3)
 繰り返し終了
  call ウェイト(5)
 &添付ファイル=#ファイル名(&添付ファイル,1),
 &oppara=" /A="+&送信先ad+" /T=3 /E /S "+&Q+&添付ファイル+&Q
  if (#FSIZE("メール起動.bat")>0)
   call 指定ファイル削除("メール起動.bat",&終了)
  end
  印字開始 "メール起動.bat", 終了状態=&終了
   印字 &Q,&起動メールソフト,&Q,&oppara
  印字終了 改頁=しない
 シェル実行 "メール起動.bat",表示=最小化
手続き定義終了
proc 指定ファイル削除(Str &削除ファイル名,Long &終了状態)
  if (#FSIZE(&削除ファイル名)>0)
   ファイル削除 &削除ファイル名,終了状態=&終了状態
    if (&終了状態<>0)
     確認 &削除ファイル名+"の削除エラー(メッセージ番号 "+#str(&終了状態)
    end
  end
end
proc ウェイト(数値 &待) /*←短過ぎるので画面表示時間稼ぎの単なるウェイト(^^;)*/
 var 日時{&Etime} /*作者 悲しげさんです 感謝*/
 &Etime=#時間加算(#日時値,&待,3)
 while(#日時値=<&Etime)
 end
end

29177 Re:mailto:を使ってhtmlの添付は出来ますか? hidetake 2005/02/27-06:44
記事番号29160へのコメント
mailto スキームについては今まで何度も何度も出ているので書きませんが
今だったらメールを送る場合は、桐でも対応しているので
それを使った方が簡単だろうな・・・

それから、桐以外でメールを送る場合に、どんなメーラなり送信
ソフトを使うかですが、Windows2000 以降だったら OS 標準で送信する機能を持っています。
CDO.Message です。

Windows標準機能とWSHを使ってメールを送信する
http://www.atmarkit.co.jp/fwin2k/win2ktips/428wshmail/wshmail.html

Outlook Express に記録を残したければ BCC するのも1つの方法でしょう。

sendmail.vbs
'-----------------------------------------------------------------------------
Set oMsg = CreateObject("CDO.Message")
oMsg.MimeFormatted = True
oMsg.BodyPart.Charset = "ISO-2022-JP"
oMsg.From = "fromaddress@hoge.net"
oMsg.To = "toaddress@hoge.com"
oMsg.Subject = "Test"
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.AddAttachment("x:\path\attachfile.ext")
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"smtpserver.hoge.net"
oMsg.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
'-----------------------------------------------------------------------------

29184 Re:mailto:を使ってhtmlの添付は出来ますか? ぽこちゃん 2005/02/27-20:03
記事番号29177へのコメント
早速のご返事ありがとうございます。
私が今使っているのは桐V9ですが、ヘルプにメール送信のコマンドが書かれていません!
その為、桐自身が持つメーラーと解釈したらよろしいのでしょうか、まったくその事を知りませんでした。
早急に桐V9−2004へバージョンUPする事にいたします。
ありがとうございます。
29222 ありがとうございます ぽこちゃん 2005/03/02-21:04
記事番号29175へのコメント
今後またシステムを作るうえで、とても参考になります。
改めて印刷の必要性や人間の持つアナログの部分を
残しながらの利便性と、話しは尽きませんが、
桐を広めるためにも頑張ります。
有難うございます。

戻る