Автоматизировать текст сообщения электронной почты в зависимости от значения текстового поля - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь отправить электронное письмо через VBA, заполненное информацией из пользовательской формы, я могу сделать это довольно легко с помощью приведенного ниже кода,

Единственная проблема, с которой я сталкиваюсь, это то, что некоторая информация требуется только в том случае, если она имеет определенное значение в форме, например, цвет будет стандартным как «Черный», если не указано иное.

Если в моей пользовательской форме установлен цвет «Черный», я не хочу включать его в электронное письмо, я только хочу, чтобы он отображался, если им нужен другой цвет, например «Белый»

Существует ли оператор if, который пропускает всю строку и продолжает электронное письмо, если текстовое поле "Черное", и будет включать его только в электронное письмо, если оно отличается от черного?

Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
    .To = csemail_txt.Value
    .CC = ""
    .BCC = ""
    .Subject = "Quote Reference: " & Quotenum_txt.Value
    .Body = "Hello" & csname_txt.Value & vbNewLine & _
    "Thank you for your enquiry, please find your quote below: " & vbNewLine & vbNewLine & _
     "Product Code: " & ProductCode_Combo.Value & vbNewLine & _
     "Dimensions: " & dimension_txt.Value & vbNewLine

    .Send
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing

незначительная коррекция; -)

1 Ответ

0 голосов
/ 25 января 2019
Option Explicit
Sub OutStr()
ColorStr = "white"

BodyStr = "Hello " & csname_txt.Value "!" & vbNewLine

If ColorStr = "black" Then
    'We don't talk about the color if the color is black ;-)
    'see https://www.google.com/search?q=henry+ford+color+black
    'BodyStr = "The color will be black as you know!"
Else
    BodyStr = BodyStr & "The color will be " & ColorStr & " as requested!" & vbNewLine
End If

BodyStr = BodyStr & "Your Board will have " & NrOfWheels & " wheels as requested!" & vbNewLine

if feature1 then BodyStr = BodyStr & "Let's talk about feature 1!" & vbNewLine
if feature2 then BodyStr = BodyStr & "Let's talk about feature 2!" & vbNewLine
if feature3 then BodyStr = BodyStr & "Let's talk about feature 3!" & vbNewLine

MsgBox BodyStr
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...