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

Форум: MS ACCESS

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

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

 
 

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

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

тема: мерцание окон при выгрузке в Word
 
 автор: joka   (29.04.2009 в 09:36)   личное сообщение
50 Кб.
 
 

В приложении, лежит моя экспериментальная база. Пробую разобраться с выгрузкой в Word, через Ole объект. Шаблон документа хранится в базе, при выгрузке в Word в шаблон подставляется фамилия, далее требуется сохранить этот док и оставить открытым уже сохранненый док, а не изменненный в шаблоне (для удобства работы пользователя, так как исправленный шаблон, который открывается первым не полнофонкционален как документ Ворд).
При выгрузке открывается документ ворд, задумывается а потом проскакивает окно базы, которое потмо исчезает, можно ли как то чтото подправить у меня чтобы это окно не проскакивало, чтобы если открылся документ Ворд, он и оставался активным...???

Заранее СПАСИБО!

  Ответить  
 
 автор: joka   (29.04.2009 в 09:40)   личное сообщение
50 Кб.
 
 

часть 2 базы

  Ответить  
 
 автор: joka   (29.04.2009 в 09:40)   личное сообщение
27 Кб.
 
 

часть 3

  Ответить  
 
 автор: snipe   (29.04.2009 в 10:10)   личное сообщение
 
 

Кажется собака порылась в этом месте...

Set oWord = GetObject(, "Word.Application")
oWord.Visible = False
Set oDoc = oWord.ActiveDocument
oWord.ActiveWindow.WindowState = wdWindowStateMaximize
oDoc.Activate
'oDoc.Bookmarks("ФИО").Select
'oWord.Selection.TypeText (полеЦель.Value)
oDoc.Bookmarks.Item("ФИО").Range.Text = s
oWord.ActiveDocument.SaveAs ("C:\" & Format(Date, "dd-mm-yyyy") & Format(Time, "-hh.mm") & ".doc")
oDoc.Close
oWord.Documents.Open ("C:\" & Format(Date, "dd-mm-yyyy") & Format(Time, "-hh.mm") & ".doc")
oWord.Visible = True



1. oWord.Visible = False false заменить на true
2. oDoc.Close
oWord.Documents.Open ("C:\" & Format(Date, "dd-mm-yyyy") & Format(Time, "-hh.mm") & ".doc")
убрать вообще

(пути я под себя переписал)
все

  Ответить  
 
 автор: snipe   (29.04.2009 в 10:18)   личное сообщение
 
 

с False - True может быть погорячился....
Однако мерцание возникает из-за того что Вы сначала документ сохраняете по принципу Сохранить Как потом документ закрываете (т.е. гасите процесс Word) а потом снова открываете уже сохраненный документ.....

  Ответить  
 
 автор: joka   (29.04.2009 в 10:30)   личное сообщение
 
 

так в том то и дело что


требуется оставить открытым уже сохранненый док, а не изменненный в шаблоне (для удобства работы пользователя, так как исправленный шаблон, который открывается первым не полнофонкционален как документ Ворд)

  Ответить  
 
 автор: joka   (29.04.2009 в 15:50)   личное сообщение
 
 

Так вот сейчас попробовал улаить строки с сохранением то есть оставил примерно
Set oWord = GetObject(, "Word.Application")
oWord.Visible = False
Set oDoc = oWord.ActiveDocument
oWord.ActiveWindow.WindowState = wdWindowStateMaximize
oDoc.Activate

и даже при таком коде промаргивает окно Access... Может это особенность работы с Ole???
ведь если просто открыть какойто док из Access, то окно Word открывается безо всяких мерцаний...

Может кто уже разбирался с проблеммой?

  Ответить  
 
 автор: joka   (29.04.2009 в 16:57)   личное сообщение
 
 

выяснил что это происходит при попытке сделать oWord.Visible = False....

  Ответить  
 
 автор: joka   (29.04.2009 в 17:43)   личное сообщение
 
 

понял что дело в том, что в открытом через Ole документе, вместо обыкновенного "закрыть" в меню идет "закрыть и вернуться к базу"...

поэтому промаргивает окно БД...

кто нибудь знает как этого избежать?

  Ответить  
 
 автор: snipe   (29.04.2009 в 18:40)   личное сообщение
 
 

Нееее... joka дело в том что Ole а если точно то activite удерживает Ваш шаблон в активном состоянии
и у меня пока не получается обмануть этот процесс.......
стараюсь

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