• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:BASP21を使ってファイル添付メールを送信したい)

BASP21を使ってファイル添付メールを送信したい

このQ&Aのポイント
  • basp21 proでメールにファイル添付したいが型が一致しないエラーが出る
  • ファイル名の指定は変更すべきか
  • SendMailMacro1を使用してファイル添付メールを送信する方法

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

どこにも、basp21の記述がないですよ。 Dim bobj As Object Set bobj = CreateObject("basp21") して ret = bobj.SendMail(szServer, szTo, szFrom, szSubj, szBody, szFile) しないと。 後、CC、BCCは中身がないのにくっつけるとエラーになりますから注意してください。

RENTAOSAKA
質問者

お礼

ご協力ありがとうございました^^; 解決いたしました><; 最初の部分が Sub SendMailMacro1() Dim ret As String Dim szLogfile As String Dim szServer As String, szTo As String, szFrom As String Dim szSubject As String, szBody As String, szFile As String Dim z As String Dim i, j As Long Dim fs, a As Object On Error GoTo Err_Handler Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("C:\Program Files\log.txt", True) szServer = Worksheets("maildata").Cells(10, 2) szFrom = CStr(Worksheets("maildata").Cells(8, 2)) でいけました!

RENTAOSAKA
質問者

補足

本当ですね・・・すみません抜けてます。。 追加をしたのですが、今度は 実行時エラー'429'ACtiveXコンポーネントはオブジェクトを作成できません となってしまいます><;

その他の回答 (1)

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

No1の方に追加です。 さらに言えば、 Worksheets("maildata").Cells(8, 2) よくわからないが、これって、セルの中身がStringで返されるんですか? RANGオブジェクトが返されると思っていましたが、そのようなオートメーション機能が働くのでしょうか? CStrなどで、文字列に変換してみてください。変換されますか? CStr(Worksheets("maildata").Cells(8, 2) )

RENTAOSAKA
質問者

補足

実は別の人間が作ったのをいじっているだけなので分からないのですが、 元の↓は動いてます。(これはファイル添付がszFile = ""で無いので…) Option Explicit Declare Function SendMail Lib "bsmtp" _ (szServer As String, szTo As String, _ szFrom As String, szSubject As String, szBody As String, szFile As String) As String Sub SendMailMacro1() Dim ret As String, szLogfile As String, szServer As String, szTo As String, szFrom As String Dim szSubject As String, szBody As String, szFile As String Dim flBody Dim i ,j ,z As Long Dim fs, a As Object On Error GoTo Err_Handler Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("C:\Program Files\log.txt", True) szServer = Worksheets("maildata").Cells(10, 2) szSubject = Worksheets("maildata").Cells(5, 2) szFrom = Worksheets("maildata").Cells(8, 2) With Worksheets("senddata") i = 2 Do While .Cells(i, 1) <> "END" If .Cells(i, 1) = "1" Then szTo = .Cells(i, 3) & vbTab & "cc" & vbTab & .Cells(i, 10) szBody = .Cells(i, 9) szFile = "" ret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile) If Len(ret) <> 0 Then a.WriteLine (Date & " " & Time & " " & ret & "-" & szTo & "-" & szBody) MsgBox "エラー" & ret & "-" & .Cells(i, 1) .Cells(i, 1) = "エラー" Else .Cells(i, 1) = "完了" End If End If i = i + 1 Loop End With MsgBox "終了" GoTo Exit_sub Err_Handler: MsgBox Err.Description, vbCritical, "Error" GoTo Exit_sub Exit_sub: a.Close End Sub

関連するQ&A