Vba 生成自动ID
我必须做到以下几点: 打开邮件->检查主题->如果主题不象:。。。。。cID#[4digit]->根据文件夹和子文件夹->其他操作中的其他邮件主题,向其添加cID#[4digit] 基本上检查cID#的最大值,将其增加1,然后将其添加到新主题中。例如,如果您的主题是:H&H 2013分配 -它检查主题是否包含cID#部分。✓强> -它找不到它,所以它会检查文件夹和子文件夹中的最高cID#;增加1<强>✗强> 将单个邮件的ID获取为整数就完成了,因为它只是Val(Right(subjectstring.4))(它总是在右边,这对我来说比较容易,因为我找不到其他方法,但它们非常受欢迎)从这些值中,很容易构建4长度的字符串,并将其插入主题Vba 生成自动ID,vba,email,outlook,Vba,Email,Outlook,我必须做到以下几点: 打开邮件->检查主题->如果主题不象:。。。。。cID#[4digit]->根据文件夹和子文件夹->其他操作中的其他邮件主题,向其添加cID#[4digit] 基本上检查cID#的最大值,将其增加1,然后将其添加到新主题中。例如,如果您的主题是:H&H 2013分配 -它检查主题是否包含cID#部分。✓ -它找不到它,所以它会检查文件夹和子文件夹中的最高cID#;增加1✗ 将单个邮件的ID获取为整数就完成了,因为它只是Val(Right(subjectstring.4))(
我的问题是,如何获得最高值的cID#-s。阅读所有现有电子邮件将占用一些时间和资源 我会在硬盘上保存一个文本文件,其中只存储最高值;在阅读并为下一封邮件添加+1时,还要将新号码放入文本文件中 如何:在此处查看我的答案:
Max根据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
它看起来不错,我明天会试试(从现在起14小时后,如果它有效,我会回复:))好吧,这已经足够好了:)但是我不能让你的方法工作,所以我用另一种方式,如果其他人都有同样的问题,我明天会在我的帖子中编辑它。谢谢