2013-11-15 44 views
0

我有以下代码是为了转发电子邮件,并包含我自己的消息。从文本文件中读取值,转发电子邮件

Private Sub Items_ItemAdd(ByVal item As Object) 
Dim filenum As Integer 
Dim current_number As String 

filenum = FreeFile() 
Open "G:\Infrastructure Services\Engineering Services\Hazard Report Number.txt" For Input As #filenum 
While Not EOF(filenum) 
Line Input #filenum, current_number 

Wend 


If item.Class = olMail Then 
    If Left$(item.Subject, 29) = "Hazard Identification Report" Then 
     Dim Msg As Outlook.MailItem 
     Dim NewForward As Outlook.MailItem 
     Dim myFolder As Outlook.MAPIFolder 
     Dim olApp As Outlook.Application 
     Dim olNS As Outlook.NameSpace 

     Set Msg = item 
     Set NewForward = Msg.Forward 
     Set olApp = Outlook.Application 
     Set olNS = olApp.GetNamespace("MAPI") 

     strSender = "" 
strsenderName = Msg.SenderEmailAddress 





If strsenderName = "EX" Then 
    Set objSender = itm.Sender 
    If Not (objSender Is Nothing) Then 
    Set objExchUser = Sender.GetExchangeUser() 
    If Not (objExchUser Is Nothing) Then 
     strSender = objExchUser.PrimarySmtpAddress 
    End If 
    End If 
Else 
    strSender = strsenderName 
End If 



     With NewForward 
      .Subject = "Hazard report reciept number:" 
      .To = strSender 
      .HTMLBody = "TYhank you for your email" 
      .Send 
     End With 
     End If 
    End If 

ExitProc: 
    Set NewForward = Nothing 
    Set Msg = Nothing 
    Set olApp = Nothing 
    Set olNS = Nothing 


End Sub 

我已经从我的文本文件中读取了值,没有问题。我的问题是如何从文本文件中删除值,并将值+1打印回文本文件中?

此外,这是为了将邮件转发给发件人,包括其原始附件和邮件(一张照片和一些GPS坐标),但它不是由于某种原因,我不明白为什么。

确实有任何建议吗?

+0

你应该为此创造两个不同的问题。在回答你的第一个问题时,你实际上需要创建一个包含你想要的所有数据的新文本文件。编辑文本文件的唯一方法就是使用ADO,我甚至不确定你可以用它做。我知道ADO只能用于访问结构化文本文件,如XML或CSV。 – HK1

回答

0

我不太明白你的第二个问题是什么(“但不是因为某些原因,我不明白为什么”不是完美的错误描述)。

但对于一个新的值使用这种更换一个txt文件:

Call textfile_replace(Value + 1) 

,这是代码,您需要:

Sub textfile_replace(mytext As String) 
    On Error GoTo Fehler 
    Dim Datei As String 
    Dim Fnr As Long 

    Datei = "c:\mytest.txt" 
    Fnr = FreeFile 
    Open Datei For Output As Fnr 
Print #Fnr, mytext 
    Close Fnr 
    Exit Sub 

Fehler: 
    MsgBox "error" & Err.Number & " " & Err.Description 
End Sub 

如果您发送您有更多的信息是什么问题发送邮件我也会尽力帮助你。

最大

+0

我目前得到一个Error55文件已经打开错误弹出 - 任何建议,这是从哪里来的? – scb998

+0

错误来自哪一行?重启Outlook/PC后,还是仅在第二次运行后,它是否也会变直?你确定没有其他程序阻止文件? – Max

+0

我收到我的收件箱中的电子邮件后出现错误。它也似乎通过宏发送2或3封回复邮件。 – scb998

相关问题