No.3ベストアンサー
- 回答日時:
エラーの原因は、このあたりだと思われます。
・basp21はインストールされていますか?
・元となるテキストファイルは用意されていますか?
テキストファイル名は、前回のサンプルでは、"c:\body.txt" と "c:\attach.txt" の2つです。
・aspか .vbsファイルのどちらで試しましたか?
(ライン番号を書かれても、そのラインにどのステートメントがあるかわからないので正確には判断できませんが。。。)
strSMPT から strAttachment は、文字列型の変数で、以下の内容をあなたの環境に合わせて、設定する必要があります。
strSMTP : メール送信に使用するSMTPサーバーです。あなたが利用可能なサーバーを指定する必要があります。
strSenderAddr : あなたのメールアドレスです。
strDestAddr : 宛先のメールアドレスです。
strTitle : メールのタイトルです。
strBody : メールの本文です。
strAttachment : 添付ファイルのパスを指定します。
テキストファイルを本文に挿入したいとのことでしたので、
basp.BinaryRead("c:\body.txt") を使用して、"c:\body.txt"というテキストファイル全体を読み込み、
basp.Kconv()を使用して、文字コードをUnicodeに変換して、strBodyに代入しています。
6行目とはisobemanさんが前回の回答(No.2)で書いてくださっていた
strBody = basp.Kconv( basp.BinaryRead("c:\body.txt"), 4 ) ' ファイル読込・ShiftJIS->Unicode変換
のところでした。
が、ファイル名の指定が間違っていたためか
書き直したらちゃんと実行することができました。
BASPについてはどなたかがインストールしていたようです。
#共用マシンなんです。
添付ファイル送らない方法も、適当にやったら実行できたので
そのソースを上げておきます。
#isobemanさんはご存知かもしれませんが、ほかに知りたい方がいらっしゃったときの参考のために。。。
何度も教えてくださって、本当にありがとうございました。
-----<以下ソースプログラム TextFileSoushin.vbs>-----
'hasshinmoto@hoge.ne.jp → okurisaki@hoge.ne.jp
'にhonbun.txtに書かれた内容が送信されます。
Set basp = CreateObject("basp21")
strTitle = "This is a subject"
strSMTP = "smtp.hoge.ne.jp"
strSenderAddr = "okurisaki@hoge.ne.jp"
strDestAddr = "hasshinmoto@hoge.ne.jp"
strBody = basp.Kconv(basp.BinaryRead("C:\honbun.txt"), 4 )
'添付ファイルなし
ret = basp.SendMail(strSMTP, strSenderAddr, strDestAddr, strTitle, strBody, "")
'添付ファイル
'strAttachment = "C:\TenpFile.txt"
'添付ファイルあり
'ret = basp.SendMail(strSMTP, strSenderAddr, strDestAddr, strTitle, strBody, strAttachment)
If ret <> "" Then
MsgBox(ret)
End IF
-----<ソースプログラムここまで>-----
No.2
- 回答日時:
ごめんなさい。
主旨が少しずれていました。テキストファイルを本文にして送信とのことですので、以下のようになります。
Set basp = CreateObject("basp21")
strSMTP = "smtp.test.com"
strSenderAddr = "sender@test.jp"
strDestAddr = "destination@test.jp"
strTitle = "件名です"
strBody = basp.Kconv( basp.BinaryRead("c:\body.txt"), 4 )' ファイル読込・ShiftJIS->Unicode変換
strAttachment = "c:\attach.txt"
ret = basp.SendMail(strSMTP, strSenderAddr, strDestAddr, strTitle, strBody, strAttachment )
動作確認しました。
この回答への補足
さっそくの回答ありがとうございます。
教えていただいたスクリプトをほぼそのまま実行してみたのですが、できませんでした。
Line: 6
Char: 1
Error: Unspecified error
Code: 80004005
Source: (null)
なるエラーが出ます。
それと、 strBodyとstrAttachmentはそれぞれ、どんな役割なのでしょうか。
たびたび申し訳ありません。
よろしくお願いいたします。
No.1
- 回答日時:
basp21という追加コンポーネントを使用してみてはいかがでしょうか。
これは、よく使われるが標準では実装されていない機能やよりユーザビリティを向上させた機能を、汎用コンポーネントとして実装しているものです。
詳細は、 http://www.hi-ho.ne.jp/babaq/basp21.html を参照のこと。
これを使用すると、
[basp21-object].SendMail([SMTPサーバー名], [送信先], [送信元], [件名], [本文], [添付ファイル])
と書くことができます。
上記Webサイトからインストーラをダウンロードしてインストールすると、以下のような記述ができるようになります。
basp21 = Server.CreateObject("basp21")
strSMTP = "smtp.test.com"
strSenderAddr = "sender@test.jp"
strDestAddr = "destination@test.jp"
strTitle = "Hello every body!"
strBody = "Here is a body of the message!"
strAttachment = "c:\attach.txt"
ret = basp21.SendMail(strSMTP, strSenderAddr, strDestAddr, strTitle, strBody, strAttachment )
(なお、操作確認はしておりませんので、あしからず)
参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- その他(メールソフト・メールサービス) Gメールについて質問 6 2023/06/14 18:02
- Outlook(アウトルック) アイホンで撮った写真を一枚だけPCに移し画像を縮小してWebメールに添付して送信する方法 1 2022/04/22 15:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Gmail 家から自分のg-mailで添付ファイル付きのメールを4通、職場の自分宛てに送りました。次の日に見ると 3 2022/09/08 12:35
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(メールソフト・メールサービス) このメールは何ですか 8 2023/06/15 17:31
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
バッチ処理でファイルの中身を...
-
拡張子を元に戻す
-
.txtではなく.logの方が良いの...
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windowsのバッチファイルを利用...
-
UWSCでテキストファイルを開い...
-
バッチファイルからVBAに引数を...
-
テキストデータExcel取込時の文...
-
Text::Xslateのパスについて
-
ExcelVBA テキストファイルUNIC...
-
ファイル内の文字列を検索して...
-
複数のテキストファイルを1つに...
-
テキストファイルのタブをカン...
-
テキストファイルクリア .net2...
-
UWSCでファイルを開く方法
-
バッチにてフォルダ内ファイル...
-
VB2010で動作しない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
ファイルの最後に文字列挿入
-
Windowsのバッチファイルを利用...
-
バッチファイル 複数ファイル...
-
renameコマンドについて
-
psqlでエラーログをとりたい
-
テキストファイルで提出とは?
-
forfilesで検索したファイルを...
-
VBAでエクセルをtxtに変換する...
-
テキスト(txt)→ワード(docx)へ...
-
UWSCでテキストファイルを開い...
-
バッチファイルで文字列削除に...
-
wikiでローカルファイルのリン...
-
ExcelVBA テキストファイルUNIC...
-
コマンドプロンプトで指定した...
おすすめ情報