宛先に相手のメールアドレスを自動的にいれたいのですが?
kazuya
2006/05/21 09:09:04
こんにちは!kazuyaと申します.
ver6の事について御指導お願いします.

毎日同じ相手にメールを送らなければいけない(その日の売上報告)のですが,メールの作成というボタンを押したときに、「宛先」に相手のメールアドレスと、本文中に本日の日付を自動的に入力するような方法は、ありますでしょうか?
御指導お願いいたします.

kazuya





dmaster
2006/05/21 14:43:46
WSHを使った例を書いてみました。

'emlファイルを編集して下書きとして開くスクリプト
Dim fso, eml, toad, emlName
toad = "test@te.st"'宛先。●ここを変更
emlName = "eml.eml"'作成するemlファイル名。必要なら変更。

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set eml = fso.CreateTextFile(emlName, True)
eml.WriteLine("To: " & Chr(34) & toad & Chr(34))
eml.WriteLine("X-Unsent: 1" & Chr(13))

'日付部分。
eml.WriteLine(Year(Date) & "年" & Month(Date) & "月" & Day(Date) & "日")
eml.Close

'emlを開く
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run emlName

----ここまで。

WSHでメール作成画面が現れたら、という動作をさせる方法は知りません。
滅多に書かないもので。よく使うUWSCでなら可能です。試してみては。

ピジョン
2006/05/26 09:09:37
修正パッチMS06-016の影響により、XP上のOEでは下書きのEMLファイルは再編集できないですよね?
EMLファイルに出力しないでWSHからmailto:で新規メールを呼び出すようにしたバージョンを作ってみました。
以下のスクリプトを today.js などという名前で保存し、新規メールを作成したいときにそのファイルをダブルクリックで開くようにしてみてください。
また上記URLに同じスクリプトを置いてあるので、リンクを右クリックして[対象をファイルに保存]で、デスクトップ上などに保存することもできます。
(実行時にウィルス対策ソフトの警告が出るときは、スクリプトの実行を許可するようにしてください)


var axo = new ActiveXObject("WScript.Shell")
var t = new Date()
axo.run("mailto:?body="+t.getYear()+"年"+t.getMonth()+"月"+t.getDate()+"日")

dmaster
2006/05/27 09:25:28
ピジョンさん、そういう方法があるんですね。
mailto:では宛先と件名しか指定しか出来ないものと思ってました。
再編集できない件も知りませんでした(_ _;)

kazuya
2006/10/25 16:29:43
dmasterさん、ビジョンさん、こんにちは!
お返事ありがとうございます.
体を壊して大学病院に入院していたため、お返事が遅れ大変失礼
しました。

ビジョンさんに作っていただいたスクリプトを実行したところ、
「2006年9月25日」と表示され、月の部分だけ9月になってしまうのですが?
システム日付は今日でしたら2006/10/25 水と表示されるのですがどこを修正したら正しい日付が出ますでしょうか?

また、下記のようにしたいのですが,御指導お願いできないでしょうか?

宛先 メールアドレス1、メールアドレス2
cc
件名 2006年10月25日 の売上です。

(本文) 2006年10月25日 ◆◆支店の売上です。

     ◆◆支店 KAZUYA

ビジョンさんに教えて頂いてものを改良し、宛先に2つのメールアドレスをいれて、件名を入れるところまでできたのですが、本文に文字を入れることができないのです.
御指導お願いいたします.

KAZUYA







ピジョン
2006/10/26 02:39:34
退院?おめでとうございます。

私が書いたJavaScriptですが、若干ミスがありました。(すいません!)
JavaScriptの仕様上、getMonth()関数は「月」のインデックス番号を表す0〜11が返ってくるので、その結果に1加える必要がありました。
正しいスクリプトを下記に書きます。

var axo = new ActiveXObject("WScript.Shell")
var t = new Date()
axo.run("mailto:?body="+t.getYear()+"年"+(t.getMonth()+1)+"月"+t.getDate()+"日")

更にkazuyaさんのリクエストどおりに出てくるスクリプトは以下のようになると思います。

var axo = new ActiveXObject("WScript.Shell")
var t = new Date()
var str = t.getYear()+"年"+(t.getMonth()+1)+"月"+t.getDate()+"日"
var address = "メールアドレス1,メールアドレス2"
var subject = str + " の売上です。"
var body = str + " ◆◆支店の売上です。%0D%0A%0D%0A◆◆支店 KAZUYA"
axo.run("mailto:?to="+address+"&body="+body+"&subject="+subject)

「var address」の行の「アドレス1,アドレス2」や、本文中の名前の部分は適当にいじってください。(複数のアドレスを指定する際の区切りは半角カンマ「,」かセミコロン「;」です)
互換性のチェックをしてないので完璧かどうか自身がありません。(Win2000・OE6・NIS2004・すべて最新パッチの環境下にて動作確認)
またエスケープ(サニタイズ)処理を行ってないので文中に「&」などが使えないと思うので注意してください。
あと差出人の指定(From)ができません。OE標準のメールアカウントがFromになります。

kazuya
2006/10/29 09:48:44
ビジョンさん、こんにちは!
早速の返信ありがとうございます.

おかげ様で退院してまいりました。
毎日毎日、2つのメールアドレスを選択して、件名、本文を
書いていたのに、おかげ様でだいぶ快適に作業することが
できるようになりました。できたときは、感動しましたぁ!
お仕事でお忙しい中、丁寧なご回答を頂きまして本当にありがとう
ございました。

BASIC、COBOL、 LOTUS123でマクロを使っての簡単なプログラムしか組んだことしかないのですが、自分もビジョンさんのように、JavaScriptでプログラミングができたらと思うのですが,お薦めの本がありましたら、教えていただけたらうれしいです。(初心者用、中級者用、上級者用など)

KAZUYA



一覧に戻る