Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форматирование при заполнении шаблона excel
 
 автор: Scorpi   (19.05.2008 в 10:49)   личное сообщение
 
 

Dim RecSet As DAO.Recordset
Dim xlApp As Object
Dim xlBook As Object
Dim SQL, nm As String
Dim k As Integer

Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Add("D:\VCNG\Profiles\IvanovaMA\import\otch1pk.xlt")

xlBook.Worksheets(1).Range("G3") = отчдат.Value
SQL = "SELECT DCount(" & Chr(34) & "id" & Chr(34) & ", " & Chr(34) & "otchet" & Chr(34) & "," & Chr(34) & "id<=" & Chr(34) & " & CStr(id)) as num, otchet.name, otchet.PostOb, otchet.PostM, otchet.pkOb, otchet.pkM, otchet.PostavlenoO, otchet.PostavlenoM, otchet.RabotaO, otchet.RabotaM, otchet.SovrSrocO, otchet.SorvSrocM, otchet.UgrSrO, otchet.UgrSrM FROM otchet WHERE otchet.dat = #" & Replace(отчдат.Value, ".", "/") & "#"
Set RecSet = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)

xlBook.Worksheets(1).Range("A7").CopyFromRecordset RecSet
xlApp.Visible = True
xlBook.Application.Worksheets(1).Columns("A:N").Select
With Selection
.WrapText = True
End With
xlBook.Application.Worksheets(1).Columns("C:N").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With

nm = "D:\VCNG\Profiles\IvanovaMA\import\otch\отчет за " & Replace(отчдат.Value, ".", "-") & ".xls"

xlBook.Application.ActiveWorkbook.SaveAs Filename:=nm, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
RecSet.Close: Set RecSet = Nothing
xlBook.Close
xlApp.Application.Quit
Set xlBook = Nothing
Set xlApp = Nothing

Победила заполнение шаблона, но при применении форматирования возникла новая проблема:
1) открываю форму, нажимаю кнопку формирование в excel (см выше текст), все формируется замечательно, с тем форматированием которое мне нужно
2) не закрывая форму, меняю дату в поле ввода отчетной даты, получаю ошибку "Object variable or With block variable not set' (дебаггер указывает на выдел курсивом строку)
3) останавливаю выполнение, возвращаюсь в форму и опять запрашиваю формирование отчета за ранее введенную дату (на которой вывалилась ошибка) все формируется нормально.
Если опять повторить все со 2) шага, то все повторяется.
А еще иногда бывает, что покажет отфарматированный шаблон, а сохранит без форматирования (((
Из-за чего? может что-то надо еще почистить?

  Ответить  
 
 автор: Анатолий (Киев)   (20.05.2008 в 19:24)   личное сообщение
 
 

Попробуйте так:

 xlBook.Worksheets(1).Columns("A:N").WrapText = True
With xlBook.Worksheets(1).Columns("C:N")
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
End With

Судя по всему, у вас библиотека Excel подключена (пока). Советую заменить спецконстанты xlCenter (и другие) их значениями или собственными константами.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList