0

私は VBA についてあまり詳しくないので、次のことについて助けが必要です。

txt ファイルを作成し、特定の場所に保存したい (既存のファイルを同じ名前で上書きする)。

テキスト ファイルでは、電子メールの件名の最後の単語をカウントする必要があります。これがアカウント番号になります。この説明のために、アカウント番号をVariable1と呼びます。

メールの件名 = Account Recon - 10201314050019434586の場合

変数1 = 10201314050019434586

作成/置換する必要があるテキスト ファイル: C:\Users\tenba1\Documents\QlikView\Account Recons\Recon_Acct.txt

ファイル内のテキストは次のようにする必要があります: SET vAcct = 'Variable1';

したがって、この例では、ファイル内のテキストは次のようになっている必要があります: SET vAcct = '10201314050019434586';

マクロは件名の最後の単語 (つまり、最後のスペースの後のすべて) を調べる必要があります。アカウント番号は必ずしも 20 桁ではありません。

前もって感謝します

4

1 に答える 1

5

これでうまくいくはずです。これは、開封済みメールの件名を取得し、アカウント番号を Recon_Acct.txt に書き込むマクロ スクリプトです。番号がない場合、テキストは SET vAcct = '' になります。スクリプトを実行するたびにファイルが上書きされます。

Sub writeSubjectToFile()
    Const FILEPATH = "C:\Users\tenba1\Documents\QlikView\Account Recons\Recon_Acct.txt"
    Dim objEmailItem As Object, strSubject
    Dim strSubject As String
    Dim strText As String

    Set objEmailItem = Application.ActiveInspector.CurrentItem

    strSubject = objEmailItem.subject
    strText = Trim(Right(strSubject, Len(strSubject) - InStr(1, strSubject, "-")))

    Open FILEPATH For Output As 1
    Print #1, "SET vAcct = '" & strText & "';"
    Close #1
End Sub
于 2013-09-16T12:12:44.747 に答える