金曜日、01月2019
  0 返信
  3.2K訪問
こんにちは、
VBA は初めてです。 F 列のセル値が変更された場合に電子メールを送信するコードを書きましたが、このコードはうまく機能しました。 ただし、電子メールを送信する前にワークブックが保存されていることを確認したいと考えています。 電子メールのテキスト本文には、値が変更された行の列 A の値である参照セル値を含める必要があります。 msg はワークブックでは機能しないため、使用しないでください。 ワークブックにはフォームがあり、入力値を指定されたセルにロードします。 コードはフォームで正常に動作します。 しかし、誰かがシートにアクセスして値を手動で更新すると、電子メールがユーザーに送信されますが、ファイルが保存されるまでは望ましくありません。 助けてください! 前もって感謝します。

プライベートサブワークシート_Change(ByValターゲットを範囲として)
範囲としての調光 s1、s2、s3、s4、s5、s6
s1 = Range("F1310:F1334") を設定します。
s2 = Range("F1426:F1450") を設定します。
s3 = Range("F1339:F1363") を設定します。
s4 = Range("F1455:F1479") を設定します。
s5 = Range("F1368:F1392") を設定します。
s6 = Range("F1397:F1421") を設定します。
エラーで次の再開
Target.Cells.Count> 1の場合、Subを終了します
'F列で変更された値を検索
Intersect(Target, Union(s1, s2, s3, s4, s5, s6)) が何もない場合は、Exit Sub
IsNumeric(Target.Value) および Target.Value <> "" の場合
オブジェクトとしての薄暗いxOutApp
xOutMailをオブジェクトとして薄暗くする
文字列としての薄暗いxMailBody
xMailText を文字列として暗くする
xOutApp = CreateObject( "Outlook.Application")を設定します
xOutMail = xOutApp.CreateItem(0)を設定します
'値が変更された行のA列のインデックス値をメール本文に含める
xMailText = Target.Offset(, -5).Value
xMailBody = "こんにちは"&vbNewLine&vbNewLine&_
「請求書を受け取りました」 & xMailText & vbNewLine & vbNewLine & _
「ありがとう」 & vbNewLine & vbNewLine & _
「Jさん」
エラーで次の再開
xOutMailを使用
.To = ""
.CC = ""
.BCC = ""
.Subject = "請求書を受け取りました"
.Body = xMailBody
。送信
最後に
エラー時GoTo0
xOutMail=Nothingを設定します
xOutApp=Nothingを設定します
終了する場合
End Subの
この投稿に対する返信はまだありません。