...
' Begin
Set xlApp = CreateObject("Excel.application")
....
while
...
' Обработка и все такое
...
' Генерим имя файла из цифр
fName = "Ост задолж на " & "1_.xls"
filePathExcel = tempDir & "\" & fName
randD = Rnd() * 1000000
randS = Cstr(randD)
randS = String(6 - Len(randS), "0") & randS
filePathExcel = Mid(filePathExcel, 1, Len(filePathExcel) - 4)
filePathExcel = filePathExcel & randS & Right$(fName, 4)
' ========================================
' Сохраняем файлик на диск с уникальным номером
Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Call grDoc.RemoveItem("anBody")
Set rtNew = grDoc.CreateRichTextItem("anBody")
Call rtNew.EmbedObject(EMBED_ATTACHMENT, "", filePathExcel)
If Not grDoc.IsUIDocOpen Then
Call grDoc.Save(False, False)
Else
Print Cstr(count) & ": Документ не сохранен: " & clientNameForError
End If
nextDoc:
On Error Goto errApp
If Not xlApp.Workbooks Is Nothing Then
' Если есть еще листы, то закрываем их БЕЗ сохранения
xlApp.Workbooks(1).Close False
End If
nextCode:
Set grDoc = compView.GetNextDocument( grDoc )
Wend
' =========ERROR HANDLER=======================
errL:
Обрабатываем возможную ошибку при концовке агента при закрытии приложения Ехсел
On Error Goto errEnd
По идее не должно быть активных книг, т.к. Ехсел может спросить про сохранение
If Not Isempty(xlApp) Then
If Not xlApp.ActiveWorkbook Is Nothing Then
xlApp.Workbooks(1).Close False
Print " ===== closed books with error mode ===== "
End If
xlApp.Quit
End If
i = Shell("cmd /c del /q " & tempDir & "\ост*.xls")
Print "======== Результат выполнения удаления Ехсел файлов = " & i
Print " ======== Обработка завершена ======== "
Exit Sub