Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【ASK_AI】【検索ワード⇒】vbscript メール本文 添付テキストファイルの中身

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

VBScriptでメール本文にテキストファイルを添付してその中身(コンテンツ)を含めるには、Microsoft Collaboration Data Objects (CDO)ライブラリを使用しますCDOオブジェクトを作成し、Configurationオブジェクトのsendusingプロパティをsmtpsendに設定してから、SenderToSubjectTextBodyプロパティを設定します。次に、AttachmentsコレクションにテキストファイルをAddメソッドで追加し、Sendメソッドを実行してメールを送信します。

Dim objCDO, objMsg, objConf, objField

' CDOオブジェクトを作成する
Set objCDO = CreateObject("CDO.Message")

' 設定オブジェクトを取得する
Set objConf = objCDO.Configuration.Fields

' SMTPで送信するように設定する
objConf.Item("<<!nav>>smtpsend<<!/nav>>") = 1
objConf.Update

' 送信者を設定する
objCDO.From = "your_email@example.com"

' 宛先を設定する
objCDO.To = "recipient@example.com"

' 件名を設定する
objCDO.Subject = "添付テキストファイル付きメール"

' 本文を設定する(必要に応じて)
objCDO.TextBody = "テキストファイルの内容はこちらです。"

' テキストファイルの内容を読み込み、本文に挿入する
Dim objFSO, objFile
Set objFSO = CreateObject("<<!nav>>Scripting.FileSystemObject<<!/nav>>")
Set objFile = objFSO.OpenTextFile("C:\path\to\your\file.txt", 1) ' 読み取りモード (1)
Dim fileContent
fileContent = objFile.ReadAll
objFile.Close

' 本文に追加する、または直接本文として使用する
objCDO.TextBody = objCDO.TextBody & vbCrLf & fileContent

' メールを送信する
objCDO.Send

MsgBox "メールが送信されました。", vbInformation

Set objFile = Nothing
Set objFSO = Nothing
Set objCDO = Nothing
手順:
  1. CDOオブジェクトの作成:

    `CreateObject(“CDO.Message”)`でメールを作成するためのオブジェクトを生成します。

  2. 設定の構成:
    • objCDO.Configuration.Fieldsから設定オブジェクトを取得します。
    • objConf.Item("smtpsend") = 1でSMTPサーバー経由でメールを送信するように設定します。
    • objConf.Updateで変更を適用します。
  3. 宛先と件名の設定:
    FromToSubjectプロパティにそれぞれ適切な値を設定します。
  4. テキストファイルの内容を読み込む:
    • Scripting.FileSystemObjectを作成し、OpenTextFileメソッドでテキストファイルを読み取りモード(1)で開きます。
    • ReadAllメソッドでファイルの内容をすべて読み込みます。
    • ファイルを閉じます。
  5. 本文に追加または設定:

    読み込んだfileContentobjCDO.TextBodyに直接設定するか、既存の本文に追加します。

  6. メールの送信:

    objCDO.Sendメソッドでメールを送信します。

  7. オブジェクトの解放:

    オブジェクトを解放するためにSet obj = Nothingを使用します。

注意点:
  • VBScriptは非推奨の扱いであり、将来的には廃止される予定です。新しいシステムでは、Windows PowerShellや他のスクリプト言語の使用を検討してください。
  • SMTPサーバーの設定(たとえば、ポート番号や認証情報など)が必要な場合は、Configurationオブジェクトの他のプロパティ(http11sendviasmtpauthenticateなど)を設定する必要があります。

【その他参考】

【VBA】FileSystemObject を使いこなそう|Sky Tech Blog(スカイ テック ブログ)

タイトルとURLをコピーしました