|
50 Кб. |
|
| В приложении, лежит моя экспериментальная база. Пробую разобраться с выгрузкой в Word, через Ole объект. Шаблон документа хранится в базе, при выгрузке в Word в шаблон подставляется фамилия, далее требуется сохранить этот док и оставить открытым уже сохранненый док, а не изменненный в шаблоне (для удобства работы пользователя, так как исправленный шаблон, который открывается первым не полнофонкционален как документ Ворд).
При выгрузке открывается документ ворд, задумывается а потом проскакивает окно базы, которое потмо исчезает, можно ли как то чтото подправить у меня чтобы это окно не проскакивало, чтобы если открылся документ Ворд, он и оставался активным...???
Заранее СПАСИБО! | |
|
| |
|
50 Кб. |
|
| часть 2 базы | |
|
| |
|
27 Кб. |
|
| часть 3 | |
|
| |
|
|
|
| Кажется собака порылась в этом месте...
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")
убрать вообще
(пути я под себя переписал)
все | |
|
| |
|
|
|
| с False - True может быть погорячился....
Однако мерцание возникает из-за того что Вы сначала документ сохраняете по принципу Сохранить Как потом документ закрываете (т.е. гасите процесс Word) а потом снова открываете уже сохраненный документ..... | |
|
| |
|
|
|
| так в том то и дело что
требуется оставить открытым уже сохранненый док, а не изменненный в шаблоне (для удобства работы пользователя, так как исправленный шаблон, который открывается первым не полнофонкционален как документ Ворд)
|
| |
|
| |
|
|
|
| Так вот сейчас попробовал улаить строки с сохранением то есть оставил примерно
Set oWord = GetObject(, "Word.Application")
oWord.Visible = False
Set oDoc = oWord.ActiveDocument
oWord.ActiveWindow.WindowState = wdWindowStateMaximize
oDoc.Activate
и даже при таком коде промаргивает окно Access... Может это особенность работы с Ole???
ведь если просто открыть какойто док из Access, то окно Word открывается безо всяких мерцаний...
Может кто уже разбирался с проблеммой? | |
|
| |
|
|
|
| выяснил что это происходит при попытке сделать oWord.Visible = False.... | |
|
| |
|
|
|
| понял что дело в том, что в открытом через Ole документе, вместо обыкновенного "закрыть" в меню идет "закрыть и вернуться к базу"...
поэтому промаргивает окно БД...
кто нибудь знает как этого избежать? | |
|
| |
|
|
|
| Нееее... joka дело в том что Ole а если точно то activite удерживает Ваш шаблон в активном состоянии
и у меня пока не получается обмануть этот процесс.......
стараюсь | |
|
| |