Outlook VBA宏创建txt文件

时间:2013-09-16 11:32:14

标签: outlook-vba

我对VBA并不是很了解,需要一些帮助:

我想创建一个txt文件并将其保存在特定位置(用同一名称覆盖现有文件)。

文本文件必须计算电子邮件主题中的最后一个单词,该单词将是一个帐号。出于解释的目的,我将调用帐号 Variable1

如果电子邮件主题= 帐户调查 - 10201314050019434586

然后 Variable1 = 10201314050019434586

必须创建/替换的文本文件: C:\ Users \ tenba1 \ Documents \ QlikView \ Account Recons \ Recon_Acct.txt

文件中的文字必须是: SET vAcct ='Variable1';

因此,在此示例中,文件中的文本必须为: SET vAcct ='10201314050019434586';

宏必须查看主题中的最后一个单词(即最后一个空格后面的所有内容) - 帐号并不总是20位数。

提前致谢

1 个答案:

答案 0 :(得分:5)

这应该可以解决问题。这是一个宏脚本,它接受顶部打开的电子邮件的主题并将Accountnumber写入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