- ベストアンサー
BASP21について VBA初心者です。勉強のため、また業務に活用でき
BASP21について VBA初心者です。勉強のため、また業務に活用できるようにメール受信ソフトをエクセルでつくれないか奮闘中です。一応様々なページを参照しながらメール受信まではこぎつけたのですが、BASP21で特定のメールアドレスから受信するということを次の目的としたのですが、どのようなコードを書けば良いかがわかりません。作者に問い合わせさせて頂こうと考えましたが、質問する場所が閉鎖中のようで質問できませんでした。お分かりになられる方がいましたらお教えいただけないでしょうか。どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
たちまちザッと。。。 If Not IsArray(retv) Then MsgBox "メールの受信に失敗しました" Else If retv(0) = 特定のメールアドレス か アカウント Then Range("A65536").End(xlUp).Offset(1, 0) = retv(0) ''From Range("A65536").End(xlUp).Offset(1, 0) = retv(1) ''Subject Range("A65536").End(xlUp).Offset(1, 0) = retv(2) ''Body End If End If それでは。
その他の回答 (1)
- top-selecao
- ベストアンサー率44% (4/9)
BASP21もVBAもよく知らないのでザッとです。 http://officetanaka.net/excel/vba/tips/tips46.htm ★でアドレスを保存してるみたいですので、保存前に 弾くなりしてみては? retv(0)の中身みないとなんともいえませんけど。。 一部抜粋*** ar = bobj.RcvMail(Server, User, Pass, Command, Folder) If IsArray(ar) Then Para = "from:subject:" For Each Mail In ar retv = bobj.ReadMail(Mail, Para, Folder) If Not IsArray(retv) Then MsgBox "メールの受信に失敗しました" Else ★ Range("A65536").End(xlUp).Offset(1, 0) = retv(0) ''From Range("A65536").End(xlUp).Offset(1, 0) = retv(1) ''Subject Range("A65536").End(xlUp).Offset(1, 0) = retv(2) ''Body End If Next Mail Else MsgBox "新着メールはありません" End If
お礼
回答ありがとうございます。初心者なので時間がかかるかもしれませんが、ためしてみます。本当にありがとうございます。
お礼
追加のレスありがとうございます。昨日から苦戦してますがまだ勉強しながらなのでうまくは言ってません。教えて頂いたことを飲み込みながら挑戦して行きます。本当にありがとうございます。
補足
topさんに回答頂いて挑戦したのですが、特定のメールアドレスを入力しても、うまく動きません。 ”特定のメールアドレス か アカウント ”に******@***.ne..jpの形で入力すると:コンパイルエラー:構文エラーとでます。もしエラーの原因がわかりましたらお教えいただけないでしょうか? お願いばかりですみません。