Страница 5 из 8
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 28 Март 2022, 20:54
				 Игорь Столяров
				finsoftrz писал(а): 28 Март 2022, 20:46
Давайте лучше про позитивчики.
 
Сегодня у нас в Пятёре возле кассы поставили тележку с сахером и кассир
тролила всех покупателей: Сахарку пакетик по акции не желаете взять ? 

 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 11:14
				 mpn2
				Вот я сделал маленький тест. Если у кого есть время посмотрите.
я конечно прекрасно понимаю, что все написанное мной - написано через жопу и если есть предложения то буду рад!
Проблема вот в чем: 
Если передать данные в WORD и  WORD закрыть - то проблем нет.
Но 99% пользователей так не работают: они открывают  WORD и  WORD весит пол дня.
Так вот:
Если передать данные в WORD и  WORD НЕ закрывать - а потом передать данные в WORD еще раз - то начинается полная "хрень".
Вот эту "хрень" надо как-то обмануть!
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 11:32
				 mpn2
				Насколько я понимаю: надо как то освободить файл шаблона test.doc и в идеале он должен быть "только для чтения", но!
Но на некоторых машинах, когда он стоит "только для чтения", то WORD его не редактирует.
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 12:12
				 RaFaeL
				Почему бы просто сначала не скопировать шаблон в файл с новым именем функцией copy, а уже затем его открыть в Word?
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 12:16
				 Игорь Столяров
				mpn2 писал(а): 29 Март 2022, 11:14
Если передать данные в WORD и WORD закрыть - то проблем нет.
 
В чём мы Вас и убеждаем несколько дней ... по Вашему первому вопросу.
У меня пример не открывается - т.к. нет шаблонов. Пример - это PRJ + CLW
RaFaeL писал(а): 29 Март 2022, 12:12
Почему бы просто сначала не скопировать шаблон в файл с новым именем функцией copy, а уже затем его открыть в Word?
 
Абсолютно верно. Именно так и обрабатываются шаблоны отчётов.
 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 12:41
				 mpn2
				Игорь Столяров писал(а): 29 Март 2022, 12:16
Абсолютно верно. Именно так и обрабатываются шаблоны отчётов.
 
Да я это тоже понимаю на бытовом уровне, а как это сделать?
Вот я пишу:
  
Код: Выделить всё
  feqOLE{'Documents.Open("'& clip(Loc:WordFileName) &'")'}                                      ! Открываем шаблон документа
  feqOLE{'Application.ActiveDocument.SaveAs2("'& Clip(Loc:SaveFileName) &'")'}        ! сохранили документ под другим именем
   do Find_Replace                                                                                                    !Заполняем документ данными
Но проблема в том, что файл шаблона остается занят WORDом.
 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 19:56
				 RaFaeL
				Код: Выделить всё
copy(Loc:WordFileName,Loc:SaveFileName)
feqOLE{'Documents.Open("'& clip(Loc:SaveFileName) &'")'}
do Find_Replace
 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 20:28
				 mpn2
				RaFaeL писал(а): 29 Март 2022, 19:56
copy(Loc:WordFileName,Loc:SaveFileName)
feqOLE{'Documents.Open("'& clip(Loc:SaveFileName) &'")'}
do Find_Replace
 
Вот! уже хорошо уже не ругается.
Код: Выделить всё
   feqOLE{'Documents.Open("'& clip(Loc:WordFileName) &'")'}                            ! Открываем шаблон документа
   copy(Loc:WordFileName,Loc:SaveFileName)
   feqOLE{'Documents.Open("'& clip(Loc:SaveFileName) &'")'}
НО! WORD открывается 2 раза и файл где будет результат и шаблон ..... и если шаблон "только для чтения", то файл-результат тоже открывается "только для чтения".
Было бы хорошо, если бы WORD с шаблоном закрывался,  а файл-результат был бы НЕ "только для чтения".
 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 20:42
				 gromov
				А нахрена окрывать шаблон ? Чисто штоб открыть ? RaFael привел рабочий код. Делается копия шаблона. Эта копия открывается и она будет НЕ "только для чтения".
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 20:50
				 mpn2
				gromov писал(а): 29 Март 2022, 20:42
А нахрена окрывать шаблон ? Чисто штоб открыть ? RaFael привел рабочий код. Делается копия шаблона. Эта копия открывается и она будет НЕ "только для чтения".
 
Пардон! Я думал шаблон надо открыть!
  
Код: Выделить всё
 copy(Loc:WordFileName,Loc:SaveFileName)
   feqOLE{'Documents.Open("'& clip(Loc:SaveFileName) &'")'}
Да вот так работает корректно! Спасибо!
Открыл WORD 30 раз ---- ничего не виснет! Спасибо! 
Я еще кнопочку сделал:
Код: Выделить всё
Run('pskill WINWORD.exe',1)  ! Закрываем Word 
Вообще стало ХОРОШО! 
 

 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 20:58
				 Игорь Столяров
				Почему-то вспомнил анекдот, как молодожёны ходили по кабинетам в поликлинике ...
Но расказывать - не буду ! 

 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 21:02
				 gromov
				А чо так ? Стесняетесь ? 

 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 21:03
				 gromov
				Я WordControl убиваю так:
  Loop 3 times
     Destroy(WordControl) ! уничтожили OLE-контрол
  end
Работает.
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 29 Март 2022, 21:15
				 Игорь Столяров
				gromov писал(а): 29 Март 2022, 21:02
А чо так ? Стесняетесь ?
 
Та не. Я за здоровую атмосферу.
Хотя, в данном случае, именно ответ с хренами дал результат ... 

 
			 
			
					
				Как закрыть WORD после передачи в него данных?
				Добавлено: 01 Апрель 2022, 3:29
				 kreator
				mpn2 писал(а): 28 Март 2022, 15:41
Игорь Столяров писал(а): 28 Март 2022, 14:18
Я извиняюсь, а можно спросить, с какой версией офисного пакета Вы работаете ?
Не могу вспомнить даже, когда была такая картинка в диспетчере, с WINWORD.EXE и т.д. ...
 
Word14
- - - - - - - - 
 
А что это? Спецсборка наших умельцев?