2017-09-07 3 views
0

私はこのフォーラムの助けを借りてコードを使用して、ドロップダウンメニューからセントラルリポジトリから.oftメールテンプレートを選択しています。変数付き電子メールテンプレート

Public Sub Email_Templates() 

    With Select_Email_Template 
    .Show 
    If .Tag <> -1 Then 
     CreateItemFromTemplate(Templates(.Tag, FullPath:=True)).Display ' Templates(.Tag) also works 
    End If 
    End With 
    Unload Select_Email_Template 

End Sub 

Public Function Templates _ 
       (_ 
        Optional ByVal plngIndex As Long = -1 _ 
       , Optional ByVal NameOnly As Boolean = False _ 
       , Optional ByVal FullPath As Boolean = False _ 
       ) As Variant 

    Const strcTemplatesDir As String = "\\c\s\caf1\Digital Delivery Group\DDCOPS\Splunk\Email Templates\" 
    Const strcTemplateExtension As String = ".oft" 

    Static avarTemplateNames As Variant 

    If IsEmpty(avarTemplateNames) Then 
    avarTemplateNames = Array _ 
    (_ 
     "Account Amendment Non SC" _ 
    , "Amendment SC Application Received" _ 
    , "Amendment SC" _ 
    , "Creation Non SC" _ 
    , "Account Creation SC Application Received" _ 
    , "Account Creation SC" _ 
    , "Export Function" _ 
    , "Password Reset" _ 
    ) 
    End If 
    If plngIndex <> -1 Then 
    If NameOnly = True And FullPath = False Then 
     Templates = avarTemplateNames(plngIndex) 
    Else 
     Templates = strcTemplatesDir & avarTemplateNames(plngIndex) & strcTemplateExtension 
    End If 
    Else 
    Templates = avarTemplateNames 
    End If 

End Function 

これは、テンプレートの例です。

こんにちは、

私は次の 環境(複数可)にあなたのためのSplunkアカウント(複数可)を作成するよう求めてきました。

あなたのユーザ名とパスワードの詳細は、次のとおりです。

ユーザー名:パスワード:

多くの感謝と種類について

私は動的にユーザー名とパスワードを追加したいの作成を事前にEメール。

これらのテンプレートは複数のユーザーによって使用されるため、実際にはVBAコードの電子メールコンテンツをハードコードしたくないので、変更が必要な場合は複数回変更する必要があります。

今後の最善の方法についてのアドバイスはありますか?

答えて

0

あなたはこのようにユニークなプレースホルダを値を渡すと置き換えることができます。

Option Explicit 

Private Sub userpass() 

Dim userName As String 
Dim userPassword As String 

userName = "someBody" 
userPassword = "easilyBroken" 

MyTemplate userName, userPassword 

End Sub 

Private Sub MyTemplate(uName, uPword) 

Dim msg As mailitem 

' Template with unique text "Username:" and "Password:" 
Set msg = CreateItemFromTemplate("C:\Test\Account Creation SC.oft") 

With msg 
    .body = Replace(.body, "Username:", "Username:" & uName) 
    .body = Replace(.body, "Password:", "Password:" & uPword) 
End With 

msg.Display 

End Sub 
関連する問題