• 締切済み

vbaでoutlookのメール本文取得時の問題

vbaでoutlookのメール本文取得時の問題役に立った:0件 質問者:sstta 投稿日時:2011/05/07 11:51 困り度: メールの仕分けルールで、条件に該当したメールに対して以下を 実行するように設定しています。 Sub CustomMailMessageRule(Item As Outlook.MailItem) msgbox(Item.body) End Sub 一応、メール本文が表示されはするのですが、何故か空白行だけ「?」マークが 入ってしまいます。対象メールがhtml形式でもテキスト形式でも同じです。 上記はmsgboxですが、テキストファイルに出力しても変わりません。 どうしたら?が入らないようになりますでしょうか?

みんなの回答

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

似た経験をしたような気が…?むずがゆい(--; 根本解決にはなりませんが、よかったらお試しください。 ' テスト@文字コードの確認  s = Item.body  For i = 1 To LenB(s) Step 2   c = c & Right("0" & Hex(AscB(MidB(s, i, 1))), 2)   c = c & Right("0" & Hex(AscB(MidB(s, i + 1, 1))), 2) & " "  Next  MsgBox c VBAはUnicode、改行はCR=0D00 & LF=0A00 改行の間に"?"の正体を確認できるかも知れません。 「... 0D00 0A00 ???? 0D00 0A00 ...」  ' 仮対処案1@強引に削除  msgbox Replace(Item.body,Chr("&H" & "????"), "") 改行の間に何も無いなら、CRLFがイケナイ?  ' 仮対処案2@CRLFをOSの改行コードに  msgbox Replace(Item.body,vbCrLf, vbNewLine)

sstta
質問者

お礼

記載頂いたコードで試したところ、????にはA000が入っていました。 ただ、Replaceが上手くいかなくて、困っていますが、ここまで分かれば後は自分で何とかなりそうです。 有難う御座いました。

関連するQ&A