Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: час Ой , блин На до же пропала сволочь......... Строку с ошибкой никак не отловлю.... То всё проходит на ура а то .......
Public Function Print_REESTRS(Patch_Name As String, Sheet_Name As String) ' Автосоздание реестров за день 'Печать всех реестров за день 'http://hiprog.com/index.php?option=com_content&task=view&id=251661586 'Oleg Smorchkov aka osmor специально для www.hiprog.com Dim oServiceManager As Object Dim oDesktop As Object Dim oCalcDoc As Object Dim oBook As Object Dim oSheet As Object Dim aNoArgs() Dim prop(0) Dim oCells As Object Dim i As Integer Dim j As Integer Dim cUrl As String Dim MyRst As DAO.Recordset Dim oRange As Object Dim summa_ As Currency Dim Commission_ As Currency Dim For_payment_ As Currency On Error GoTo Print_REESTRS_Error '------------------------------------------------------------------------------- Set MyRst = CurrentDb.OpenRecordset("Pay_Reestr_QUE", dbOpenDynaset) If MyRst.EOF Then NET_Postuplenii = Nz(NET_Postuplenii) & vbCrLf & "Нет поступлений " & Sheet_Name Set oBook = Nothing Set oSheet = Nothing Set oCalcDoc = Nothing Set oServiceManager = Nothing Exit Function End If Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set oCalcDoc = oServiceManager.createInstance("com.sun.star.frame.Desktop") ' создаем новую книгу OpenOffice.org Calc Set oBook = oCalcDoc.loadComponentFromURL("private:factory/scalc", "_blank", 0, aNoArgs()) Set oSheet = oBook.getSheets().getByIndex(0) 'получаем ссылку на первый лист новой книги ' Автосоздание реестров за день With MyRst i = 0 ' столбец j = 0 ' строка Call oSheet.getCellByPosition(0, j).setString(Mid(Sheet_Name, 1, 1)) Call oSheet.getCellByPosition(1, j).setString("Реестр принятых платежей за " & Mid(Sheet_Name, 14) & " от " & Mid(Sheet_Name, 3, 11)) 'W_09.02.2009_Газ Set oRange = oSheet.getCellRangeByPosition(1, j, 6, j) 'Set oRange = oSheet.getCellRangeByName(strRange) oRange.Merge (True) ' объединить 'MsgBox "Нужно всё проверить" j = j + 1 ' строка 'в getCellByPosition первый аргумент столбец, второй строка Call oSheet.getCellByPosition(0, j).setString("п/п") Call oSheet.getCellByPosition(1, j).setString("Фамилия") Call oSheet.getCellByPosition(2, j).setString("Адрес") Call oSheet.getCellByPosition(3, j).setString("Л.счёт") Call oSheet.getCellByPosition(4, j).setString("Иное") Call oSheet.getCellByPosition(5, j).setString("Наименование платежа") Call oSheet.getCellByPosition(6, j).setString("Вид платежа") Call oSheet.getCellByPosition(7, j).setString("Отдел") Call oSheet.getCellByPosition(8, j).setString("Оплата с") Call oSheet.getCellByPosition(9, j).setString("Оплата по") Call oSheet.getCellByPosition(10, j).setString("Сумма платежа") Call oSheet.getCellByPosition(11, j).setString("Сумма за услуги") Call oSheet.getCellByPosition(12, j).setString("Выдан чек") Call oSheet.getCellByPosition(13, j).setString("Выдан П.Д.") Call oSheet.getCellByPosition(14, j).setString("Итого к оплате.") Call oSheet.getCellByPosition(15, j).setString("Дата записи") Call oSheet.getCellByPosition(16, j).setString("Сторнировано или нет.") 'Call oSheet.getCellByPosition(17, j).setString("Номер сквозного документа") Call oSheet.getCellByPosition(18, j).setString("Заметки") Call oSheet.getCellByPosition(19, j).setString("Кассир") Call oSheet.getCellByPosition(20, j).setString("Кто сделал сторно") Call oSheet.getCellByPosition(21, j).setString(" ККМ") j = j + 1 ' строка Do Until .EOF If Nz(!STORNO) <> 0 Then GoTo STORNO Call oSheet.getCellByPosition(0, j).setString(Nz(!Check_Number)) Call oSheet.getCellByPosition(1, j).setString(Nz(!Surname)) Call oSheet.getCellByPosition(2, j).setString(Nz(!Adress)) Call oSheet.getCellByPosition(3, j).setString(Nz(!Personal_Account)) Call oSheet.getCellByPosition(4, j).setString(Nz(!Other)) Call oSheet.getCellByPosition(5, j).setString(Nz(!Po)) Call oSheet.getCellByPosition(6, j).setString(Nz(!Pay_Name)) Call oSheet.getCellByPosition(7, j).setString(Nz(!Department)) Call oSheet.getCellByPosition(8, j).setString(Nz(!S)) Call oSheet.getCellByPosition(9, j).setString(Nz(!Po)) Call oSheet.getCellByPosition(10, j).setString(Nz(!Pay_Summa)) Call oSheet.getCellByPosition(11, j).setString(Nz(!Fixed_Payment)) Call oSheet.getCellByPosition(12, j).setString(Nz(!Dok_Check)) Call oSheet.getCellByPosition(13, j).setString(Nz(!Dok_Print)) Call oSheet.getCellByPosition(14, j).setString(Nz(!For_payment)) Call oSheet.getCellByPosition(15, j).setString(Nz(!Pay_Data)) Call oSheet.getCellByPosition(16, j).setString(Nz(!STORNO)) 'Call oSheet.getCellByPosition(17, j).setString(Nz(!Document_Number)) Call oSheet.getCellByPosition(18, j).setString(Nz(!Notes)) Call oSheet.getCellByPosition(19, j).setString(Nz(!KASSIR)) Call oSheet.getCellByPosition(20, j).setString(Nz(!Who_STORNO)) Call oSheet.getCellByPosition(21, j).setString(Nz(!ID_KKM)) j = j + 1 ' строка STORNO: .MoveNext Loop End With MyRst.Close Set MyRst = Nothing j = j + 2 ' строка Call oSheet.getCellByPosition(1, j).setString(FPost_Direktor() & " " & Direktor()) Set oRange = oSheet.getCellRangeByPosition(1, j, 6, j) 'Set oRange = oSheet.getCellRangeByName(strRange) oRange.Merge (True) ' объединить j = j + 2 ' строка Call oSheet.getCellByPosition(1, j).setString(FPost_Glav_buh() & " " & GLAV_BUH()) Set oRange = oSheet.getCellRangeByPosition(1, j, 6, j) 'Set oRange = oSheet.getCellRangeByName(strRange) oRange.Merge (True) ' объединить oSheet.Name = Sheet_Name ' переименуем лист, в который мы выводили данные 'удаляем 3-й лист (лист с именем "Лист2" и индексом 2) Call oBook.getSheets.removeByName(oBook.getSheets.getByIndex(2).Name) Call oBook.getSheets.removeByName(oBook.getSheets.getByIndex(1).Name) 'сохраняем созданную книгу cUrl = ConvertToUrl(Patch_Name + Sheet_Name + ".xls") Set prop(0) = MakePropertyValue("FilterName", "MS Excel 97") Call oBook.storeToURL(cUrl, prop) Call oBook.Close(False) 'закрываем созданную книгу 'cUrl = ConvertToUrl(Patch_Name + Sheet_Name + ".xls") 'Открываем только что сохраненную книгу 'Set oBook = oCalcDoc.loadComponentFromURL(cUrl, "_blank", 0, aNoArgs()) Set oBook = Nothing Set oSheet = Nothing Set oCalcDoc = Nothing Set oServiceManager = Nothing 'Patch_Name Call Reestr_V_MDB(Patch_Name & Mid(Sheet_Name, 13) & ".mdb", F_Point_Tire(Sheet_Name)) 'MsgBox "Создано " & Sheet_Name YEST_Postuplenii = Nz(YEST_Postuplenii) & vbCrLf & "Создано " & Sheet_Name '------------------------------------------------------------------------------- On Error GoTo 0 Exit Function Print_REESTRS_Error: Call MsgBox("V_Excel_MOD" & "процедура->" & "Print_REESTRS", Err.Number, Err.Description) Call Zapis_ERR("V_Excel_MOD" & "процедура->" & "Print_REESTRS", Err.Number, Err.Description) End Function
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.