2013-12-17 3 views
0

я должен сделать следующее:Генерировать автоматические идентификаторы

Открытие почты -> Проверить Тема -> Если объект не нравится: ..... ИДС # [4-х символьный] -> Добавить ИДС # [4-х символьный] к нему, на основе других предметов почты в ваших папках и подпапках -> другие операции.

В основном проверьте высочайшее значение cID #, увеличьте его на 1 и добавьте его к новому объекту. Например, если ваш объект: H & H 2013 распределение.

-It проверяет, содержит ли предмет cID # часть.

-It не может найти его, поэтому он проверяет папки и подпапки для наивысшего идентификатора CID #; увеличиваем его на 1.

Получение идентификатора одного письма как целое будет сделано, потому что это просто Val (Right (subjectstring.4)) (Он всегда будет находиться справа, который легче для меня, потому что я не мог найти другие методы, но они более чем приветствуются). Из этих значений легко построить строку длиной 4 длины и вставить ее в объект.

Мой вопрос в том, как получить наивысший значащий идентификатор cID # -s.

ответ

0

Чтение всех существующих электронных писем будет использовать некоторое время и ресурсы.

Я бы сохранил текстовый файл на жестком диске, в котором вы храните только самое высокое значение; при чтении и добавлении +1 для следующей почты также добавьте новый номер в свой текстовый файл.

Как-: см мой ответ здесь: read value from text file, Forward email

Макс

+0

Это кажется хорошим, я попытаюсь завтра (14h теперь, я буду отвечать, если это работает :)) – ZZA

+0

Ну это было достаточно хорошо :) Но я не мог сделать свой метод работы, так что я сделал это по-другому, я буду редактировать его завтра в моем посте, если у всех остальных будет такая же проблема. Спасибо – ZZA

2

Следуя совету Макса, мой код основан на этом, если кто-то имеет такую ​​же проблему. Я использую 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 
Смежные вопросы