2016-07-19 9 views
0

ユーザーはユーザーフォームから回答を入力し、回答の電子メールの要約が送信されます。 userformのいくつかの質問はオプションです。.HTMLBody内のIFステートメント

.HMTLBodyセクションでは、回答があれば特定の回答を赤いテキストで電子メールで送信したいと思います(通常はそうではないので、簡単に見つけてください)。

.HTMLBodyセクション内の特定のフィールドをフォーマットするために条件文を使用する方法はありますか? (IIF?)

以下のサンプル(「ビジネスユニット」フィールドはオプション)。

ありがとうございます。

Dim EmailBody as String 

EmailBody = "Unit Name: " & UCase(Me.ttbUnitName.Value) & “<br>” _ 
    & "Nation: " & UCase(Me.cbxNation.Value) & “<br>” _ 
    & "State: " & UCase(Me.cbxState.Value) & “<br>” _ 
    & "County: " & UCase(Me.cbxCounty.Value) & “<br>” _ 
    & "Business Unit: " & UCase(Me.ttbBusinessUnit.Value) 

    With MItem 
     .To = "[email protected]" 
     .CC = myEmail 
     .DeferredDeliveryTime = SendAt 
     .Subject = Me.Name & " Submission" 
     .HTMLBody = EmailBody 
    End With 

答えて

0

このようなものです。

"<font style='color:" & iif(len(Me.ttbBusinessUnit.Value)>0,"red","black") & ";'>" & UCase(Me.ttbBusinessUnit.Value) & "</font>"

+0

' red'と 'black'は – litelite

+0

@liteliteではなく引用符で囲む必要がありますように

だから、構文を使用することができ、テスト' –

+1

文字列リテラルなので、HTMLではなく、VBAでは真です。 –

1

.HTMLBodyは(HTMLとして期待されている)単なる文字列です。その文字列を構築中にifを使用することができます。スタイル `<フォントスタイル= '色:赤'>使用している場合、この

Dim EmailBody as String 

EmailBody = "Unit Name: " & UCase(Me.ttbUnitName.Value) & “<br>” _ 
    & "Nation: " & UCase(Me.cbxNation.Value) & “<br>” _ 
    & "State: " & UCase(Me.cbxState.Value) & “<br>” _ 
    & "County: " & UCase(Me.cbxCounty.Value) & “<br>” 
    if Me.ttbBusinessUnit.Value <> "" then 'or whatever condition you have 
     EmailBody = EmailBody & "<font color=""red"">Business Unit: " & UCase(Me.ttbBusinessUnit.Value) & "</font>" 
    end if 

    With MItem 
     .To = "[email protected]" 
     .CC = myEmail 
     .DeferredDeliveryTime = SendAt 
     .Subject = Me.Name & " Submission" 
     .HTMLBody = EmailBody 
    End With 
関連する問題