我必须做以下事情:
打开邮件 - >检查主题 - >如果主题不是:..... cID#[4digit] - >根据文件夹和子文件夹中的其他邮件主题,为其添加一个cID#[4digit] - >其他行动。
基本检查cID#的最高值,将其递增1,然后将其添加到新主题中。例如,如果您的主题是:H& H 2013分配。
- 检查主题是否包含cID#部分。✓
- 找不到它,所以检查文件夹和子文件夹中的最高cID#;将其增加1. ✗
将单个邮件的ID作为整数获取,因为它只是Val(Right(subjecttring.4))(它总是在右边,这对我来说更容易,因为我找不到其他方法,但它们非常受欢迎)从这些值,很容易构建4长度长的字符串,并将其插入主题。
我的问题是,如何获得最高价值的cID#-s。
答案 0 :(得分:2)
根据Max的建议,我的代码是基于此,如果其他人有同样的问题。 我使用szamid来设置数字。
Sub readtextfile()
Dim oFSO As New FileSystemObject
Dim oFS As TextStream
Dim oFSBU As TextStream
Dim filePath As String
Dim filePathBU As String
Dim szamid As Integer
Dim My_filenumber As Integer
filePath = "C:\Casenumber.txt"
filePathBU = "C:\CasenumberBU.txt"
If Not fileExist(filePath) Then GoTo FileDoesntExist
On Error GoTo Err
Set oFS = oFSO.OpenTextFile(filePath, ForReading)
szamid = oFS.Read(7)
szamid = szamid + 1
szamid = CStr(szamid)
oFS.Close
Set oFS = oFSO.OpenTextFile(filePath, ForWriting)
oFS.WriteLine (szamid)
oFS.Close
Set oFSBU = oFSO.OpenTextFile(filePathBU, ForWriting)
oFSBU.WriteLine (szamid)
oFSBU.Close
MsgBox szamid
Exit Sub
FileDoesntExist:
Set oFSBU = oFSO.OpenTextFile(filePathBU, ForReading)
szamid = oFSBU.Read(7)
szamid = szamid + 1
szamid = CStr(szamid)
oFSBU.Close
Const FILENAME = "C:\Casenumber.txt"
My_filenumber = FreeFile
Open FILENAME For Output As #My_filenumber
Close #My_filenumber
Set oFS = oFSO.OpenTextFile(filePath, ForWriting)
oFS.WriteLine (szamid)
oFS.Close
Set oFSBU = oFSO.OpenTextFile(filePathBU, ForWriting)
oFSBU.WriteLine (szamid)
oFSBU.Close
MsgBox szamid
Exit Sub
Err:
MsgBox "Error while reading the file.", vbCritical, vbNullString
oFS.Close
Exit Sub
End Sub
答案 1 :(得分:0)
我会在硬盘上保留一个文本文件,其中只存储最高值;在阅读它并为下一封邮件添加+1时,也将新号码放入文本文件中。
操作方法:在此处查看我的答案:read value from text file, Forward email
最高