アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

A1に宛先のアドレス
A2に件名
A3以降にメール本文
となったsheetを作成しますが
これをOutlookExpressでテキスト送信する方法はありますか。

A 回答 (5件)

> A3以降にメール本文


A3以降ではなく、本文はA3のみに入力してある場合です。

[Alt]+[F11] で Visual Basic Editor を開き、[挿入]-[標準モジュール] に貼り
付けて実行します。

Sub SendMail()
  Dim B21Obj, MailContents
  Dim Server, Mailto, MailFrom, Title, Body, AttFile
  If Range("A1") = "" Then GoTo Fin
  If Range("A2") = "" Then GoTo Fin
  If Range("A3") = "" Then GoTo Fin
  Set B21Obj = CreateObject("basp21")
  Server = "xx.xx.xx.jp"     'サーバー名(ご自分のSMTPサーバーに書換え)
  Mailto = Range("A1").Value   '宛先
  MailFrom = "xxxx@xx.xx.jp"   '差出し人(ご自分のメールアドレスに書換え)
  Title = Range("A2").Value    'タイトル
  Body = Range("A3").Value    '本文
  AttFile = Range("B1").Value   '添付書
  MailContents = B21Obj.SendMail(Server, Mailto, MailFrom, Title, Body, AttFile)
Fin:
  Set B21Obj = Nothing
  Range("A1").Select
End Sub

※添付書がある場合は、B1にファイルのフルパスを入力します。添付書がなくても、
 記述内容は変更しないでください。

※ご自分宛にテスト送信して届かない場合は、Visual Basic Editor の [ツール]-[参
 照設定] で basp21... を選択してから再実行してみてください。

※私は Outlook をインストールしていませんので Outlook Express で送信
 されますが、Outlook がインストールされている環境ですと、わかりません。

この回答への補足

ご回答有難うございます。
すごく嬉しいです。

上手く行きそうなのですが、実行すると
「ActiveXコンポーネントはオブジェクトを作成できません。」というエラーになりました。

> [ツール]-[参照設定] で basp21... を選択…

basp21... がリストになかったのですが…。

補足日時:2005/09/16 16:52
    • good
    • 0

Wendy02さま、ありがとうございます。


まさにPCの電源を切ろうとしたときに、ご投稿に気づきました。

いつもWendy02さまはじめ多くの方々のご回答を読みながら勉強させていただ
いております。
私の知識など、まだまだ底が浅い(というか基礎が無い)と痛感しております。

ところで、渡航先はフィリピンの片田舎ですので、ネットアクセスも半年間
お休みです。
戻ってから、またいろいろ勉強させていただきます。
それでは、失礼致します。

hee1 さま、場所をお借りしてすみませんでした。
    • good
    • 0

こんばんは。

Wendy02です。割り込み失礼します。

>確認なのですが、これはBasp21から直接送信されているのでしょうか。
>OutlookExpressの送信履歴に残っていなかったものですから…。

Basp21 は、SMTPプロトコルを直接、呼び出して使っているので送信の記録には出てこないはずです。私のメーラーは、MS製品ではありませんが、Outlookは、受信のみで、VBAで使えるようにしてあります。

余談に近い話になるかもしれませんが、コードを見ていて、私の個人的な疑問が生じたので調べてみました。そのSMTP(BSMPT)だけでは、パスワード等がないですよね。

実は、私のところはBasp21のBSMTPで、メールは送れてはいるのですが、今、自分のサーバー側のSMTPの内容を読んでみると、サーバーからエラーが返らないのは、私が、POPの使う頻度が高いからではないかと思います。

本来は、SMTPプロトコル単独では、メール・サーバーへSMTPのみだと弾かれることもあるのではないかと思います。そうでないと、VBAで、何十万件、何百万件のメールが一瞬で送れることになってしまいます。たぶん、大手のプロパイダなら、SMTP単独では、どこかの状態でセキュリティ機能が働くはずです。(Mailボックスが、件数カウントして一杯になる時代ならともかく、今は、そんなことを試してみるわけには行きません。(^^;)

そのセキュリティには、POP before SMTPとSMTP認証(SMTP Auth)などがあるのですが、調べてみましたから、Basp21では、そこらあたりは対応しているようですね。

トラブルが起こる前に書くのもヒンシュク物かもしれませんね。

p.s.
misatoannaさんへ
>あさって早朝に海外に発ち半年ほど戻りません。
お気をつけて!海外からでも、アクセスは出来るでしょうから、お別れではないと思いますけれども。
    • good
    • 0

> 上手く送信できました。


よかったですね。安心しました。

> 確認なのですが、これはBasp21から直接送信されているのでしょうか。
ん~、どうなのでしょう。
私の環境ではメールソフトが Outlook Express しかないので、勝手にそこ経由で送信される
と思っていたのですが‥‥。

ともあれ、成功してよかったデス。

ところで、あさって早朝に海外に発ち半年ほど戻りません。
追加ご質問にはお答えできないと思いますので、ごめんなさい。
    • good
    • 0

エラーとともに、おそらく


Set B21Obj = CreateObject("basp21")
の部分が黄色く反転するのでしょうね。

とりあえず、次のサイトから BASP21-2003-0211.exe をダウンロードしてインストールした
後に再起動してみてください。
http://www.hi-ho.ne.jp/~babaq/basp21.html

[ツール]-[参照設定] に、Basp21 1.0 Type Library と表示されると思います。

この回答への補足

有難うございます。
上手く送信できました。

確認なのですが、これはBasp21から直接送信されているのでしょうか。
OutlookExpressの送信履歴に残っていなかったものですから…。

しかし、ひとまず目標はクリアできたと思います。

補足日時:2005/09/16 19:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!