この方法で空白メールウインドウを開いたのですが、
(前部分省略)
IE.navigate ("mailto:test@test.jp?subject=件名&body=" & body)
bodyの中身にファイルから読み込んだものを入れています。
読み込む際に(Lineinputで)改行部分に+chr(13)で改行をつけているのですが、
それが悪いのか正しく表示できません。
どのようにおかしいのかと言うと、空白ウインドウには正常に出るものの
そのまま送信すると、相手の方で、改行がすべて消えてしまって
一行になってしまっているようです。
(場合によっては<改ページ>が行ごとに入っていることもあります。)
また、送信済みのメールを確認すると本文が消えてしまっています。
&chr(13)ではなくvblfcrでも状態は違いますが
普通どおりの改行はしませんでした。
ファイルはメモ帳で書いたTXTファイルでもちろん普通に改行をしています。
VB.NET、windowsXPです。ご助言頂けるとありがたいです。
改行コードは基本的にchr$(13)のキャリッジリターンとchr$(10)のラインフィードだと思いますが・・・違ってたらスマソ
通ってみたさんありがとうございます。
しかし、それが出来ないのです。
STOPで途中で止めてマウスポインタを持って行くと
ちゃんと改行できているのですが、メールウインドウに
貼り付けるとダメなんです。
ためしにと思って方法を変えて
Dim sr As New System.IO.StreamReader("c:\sample.txt", System.Text.Encoding.GetEncoding(932))
Dim s As String
s = sr.ReadToEnd()
sr.Close()
MailBody = s
でやってみたのですが、それでもマウスポインタでの確認は正常で
貼り付けると改行がないという状態になってしまいます。
メモ帳を開いて、クリップボードに読込んで、貼り付けという風に
手動でやれば、もちろん正常にできます。
何かお気づきの点があったら教えて頂けると助かります。
MailBody += LineInput(1) & "%0A"
上記の様に"%0A"を付けたら、出来るようになりました。
ただ、一つだけ問題が残ってしまいまして、
自分の送信済みフォルダの中の送信済みのメールから
本文がすっかり抜け落ちてしまっています。
プレビューではない画面にも出ないですし、転送や返信で開いても
出ないです。(完全に消えてしまったよう)
自分宛に送ってみたところ、届く分は正常でした。
あと、貼り付けた本文に送信前に1文字でも書き加えたり変更したりすると
送信済みフォルダの中に行っても正しく表示できます。
どうしてでしょうか?
なんだかURLエンコードみたいな・・・>%0A
消えてしまうのは、OutLookの方で入力がされていない=変更がない=真っ白という風に判断しているからでしょう
送信済みの場所にOutLookの送信ファイルの形式でファイルをつくるのがいいかもしれないですな
データの形式はわからないけど
ツイート | ![]() |