powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать вордовского документа из фокса ?
23 сообщений из 23, страница 1 из 1
Печать вордовского документа из фокса ?
    #36228335
BlackFoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, All !
Проблема в следующем - есть таблица с людьми, по каждому человеку есть
вордовский файлик. Нужно в проге на фоксе организовать просмотр этого файла
и если потребуется, то распечатать. На скорую руку сделал вызов Shellexecute
с именем нужного файла. Т.е. запускается сам Word, далее - по вкусу, хошь
смотри, хошь печатай. По некоторым причинам это не совсем подходит -
например, юзер может что-нибудь накарябать в файле и сохранить все это. Ну и
еще есть всякие другие моменты.
Пытался еще сделать вариант с фоксовым репортом - засунул в него оле-баунд
объект из поля General. Вроде все получается. НО! В вордовском файле может
быть несколько страниц. А в репорте, как ни пытался, вылазит только одна -
первая. Каких только плясок с бубнами не выделывал - бесполезно. Не хочет
показывать весь файл - и хоть тресни !
Как автоматически раздвинуть детальную строчку в отчете на несколько листов
?
Может кто знает как это побороть ? Или может еще есть какой-нибудь вариант
решения этой задачки ?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36228612
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackFoxx
Нужно в проге на фоксе организовать просмотр этого файла
и если потребуется, то распечатать. На скорую руку сделал вызов Shellexecute
с именем нужного файла. Т.е. запускается сам Word, далее - по вкусу, хошь
смотри, хошь печатай. По некоторым причинам это не совсем подходит -
например, юзер может что-нибудь накарябать в файле и сохранить все это. Ну и
еще есть всякие другие моменты.
Как я понял, требуется печать RTF/DOC без открытия окна Word ? Долго бился с этой проблемой. Остановился на варианте :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
DECLARE INTEGER ShellExecute ;
	    IN SHELL32.DLL ;
	    INTEGER nWinHandle,;
	    STRING cOperation,;   
	    STRING cFileName,;
	    STRING cParameters,;
	    STRING cDirectory,;
	    INTEGER nShowWindow	

=PrintAny("MyRTF.rtf")

**********************************************************
FUNCTION PrintAny
**********************************************************
* Печать файла.
PARAMETERS urlname
LOCAL lcOperation, lcparams, lcWorkDir
lcOperation="print"
lcparams=""
lcWorkDir=""
RETURN ShellExecute( 0 ,lcOperation,urlname,lcparams,lcWorkDir, 0 )

Все-же, окно Word успевает промелькнуть перед печатью, но с этим пришлось смириться за неимением других способов послать документ в очередь печати, не показывая окна Word.
Изголения с "заменителями" Word (вроде Word View) не дали желаемого эффекта и оказались неоправданно громоздкими. Пришел к выводу, что полноценно отобразить/напечатать документ, созданный Word'ом, может только сам Word :) Поэтому на формах сделал 2 кнопки - одна для загрузки документа в Word и его отображения/редактирования, вторая - чисто для печати документа без его показа согласно вышеуказанному коду.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36228650
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackFoxx,

Наверное, лучше будет внедрить OLE на форму. Там можно запретить редактирование, оставить только просмотр.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36228895
BlackFoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rewareКак я понял, требуется печать RTF/DOC без открытия окна Word ? Долго бился с этой проблемой. Остановился на варианте :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
DECLARE INTEGER ShellExecute ;
	    IN SHELL32.DLL ;
	    INTEGER nWinHandle,;
	    STRING cOperation,;   
	    STRING cFileName,;
	    STRING cParameters,;
	    STRING cDirectory,;
	    INTEGER nShowWindow	

=PrintAny("MyRTF.rtf")

**********************************************************
FUNCTION PrintAny
**********************************************************
* Печать файла.
PARAMETERS urlname
LOCAL lcOperation, lcparams, lcWorkDir
lcOperation="print"
lcparams=""
lcWorkDir=""
RETURN ShellExecute( 0 ,lcOperation,urlname,lcparams,lcWorkDir, 0 )

Все-же, окно Word успевает промелькнуть перед печатью, но с этим пришлось смириться за неимением других способов послать документ в очередь печати, не показывая окна Word.
Изголения с "заменителями" Word (вроде Word View) не дали желаемого эффекта и оказались неоправданно громоздкими. Пришел к выводу, что полноценно отобразить/напечатать документ, созданный Word'ом, может только сам Word :) Поэтому на формах сделал 2 кнопки - одна для загрузки документа в Word и его отображения/редактирования, вторая - чисто для печати документа без его показа согласно вышеуказанному коду.
Спасибо, но это не совсем то. Хотелось бы обойтись совсем без ворда.
Главная задача - это легкий, быстрый и простой просмотр файла, и иногда - печать.
В идеале - просто вызов Report Form Preview, но как я понял у него начинаются проблемы с оле, когда нужно вывести больше одной страницы.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36229204
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: BlackFoxx
> Спасибо, но это не совсем то. Хотелось бы обойтись совсем без ворда.

К сожаленю без ворда не обойтись, потому что сам
автор , правда для 2007 ворда пишет что без ворда
обойтись нельзя
Поэтому или использовать тот код что есть, или использовать строку типа :
Код: plaintext
C:\Program Files\Microsoft Office\OFFICE11>winword c:\Doc.doc /q /n /mFilePrintDefault /mFileExit
которая, в сущности, делает то-же самое.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36230287
Случйано прошел мимо

Запускайте Word в невидимом режиме и делайте им что пожелаете - например
пользуйте как сервер печати

Вот пример скрипта правда на PowerBuilder

OLEObject o1
o1 = CREATE OLEObject
o1.documents.open(file)
/*
а здесь этот документ можно еще обработать как хочешь -
например подставить данные в шаблон и тп
*/
o1.Application.ActiveDocument.PrintOut()
o1.Application.Quit()
destroy(o1)

--------------------
PS:

При таком создании окно word вообще не видно пока ему явно не сказать
o1.Application.Visible = True
Думаю в фоксе все аналогично...
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36230496
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гриценко А.В.Запускайте Word в невидимом режиме и делайте им что пожелаете - например
пользуйте как сервер печати
Вот пример скрипта правда на PowerBuilder
Думаю в фоксе все аналогично...
Аналогично.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
DECLARE Sleep IN Win32api integer
=PrintAny("z:\My Docs\Project 1\MyDoc.doc") && полный путь к файлу

**********************************************************
FUNCTION PrintAny
**********************************************************
PARAMETERS urlname
LOCAL loWord, loBook

loWord=CREATEOBJECT('Word.Application') 
loWord.Visible=.f. 
loBook = m.loWord.Documents.open(urlname)  
LoWord.ActiveDocument.PrintOut( 0 )  
* задержка, подбираемая эмпирически, для того, чтобы файл
* не был закрыт до выполнения печати.
do while !empty(LoWord.Application.BackgroundPrintingStatus)    
	=Sleep( 1000 )    
enddo    
LoWord.Quit( 0 )
LoWord=.NULL.
RELEASE LoWord
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36231947
АлексейО
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlackFoxxПо некоторым причинам это не совсем подходит -
например, юзер может что-нибудь накарябать в файле и сохранить все это. Ну и
еще есть всякие другие моменты.
поищете здесь на форуме genrep - он конечно требует word, но исходный файл используется как шаблон, а то что юзер накарябал сохранится в другом файле. и при следующем запуске опять откроется нетронутый шаблон
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #36233927
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейО
поищете здесь на форуме genrep - он конечно требует word, но исходный файл используется как шаблон, а то что юзер накарябал сохранится в другом файле. и при следующем запуске опять откроется нетронутый шаблон

Genrep - не совсем то, что нужно только для отображения/печати файла. Это генератор отчетов со всеми вытекающими.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Печать вордовского документа из фокса ?
    #39780028
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware,
Хочу напечатать файлы в алфавитном порядке (имена файлов 1.rtf, 2.rtf, 3.rtf, 4.rtf). Для этого сортирую базу 'Fio' по Ф.И.О:

tin | fullname
-------------------------
3 | Жуков
2 | Квасов
1 | Макеев
4 | Шевченко

Затем печатаю по порядку каждую запись. но принтер печатает вразброс. Что я делаю не так?

USE Fio
SCAN
FilePrint = Tin + '.rtf'
=PrintAny(FilePrint)
ENDSCAN
**********************************************************
FUNCTION PrintAny
**********************************************************
PARAMETERS urlname
LOCAL lcOperation, lcparams, lcWorkDir
lcOperation="print"
lcparams=""
lcWorkDir=""
RETURN ShellExecute(0,lcOperation,urlname,lcparams,lcWorkDir,0)
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780081
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_П,

Аналогичная проблема при печати через Акробат, там решение такое: файлы сливаются в один в нужном порядке страниц, а затем печатается обощенный файл.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780127
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist,
Остается только придумать как это сделать. Мне кажется, что это не то, потому что файлов может быть и 500 и 1000 штук.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780187
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_Пreware,
Хочу напечатать файлы в алфавитном порядке (имена файлов 1.rtf, 2.rtf, 3.rtf, 4.rtf). Для этого сортирую базу 'Fio' по Ф.И.О:

tin | fullname
-------------------------
3 | Жуков
2 | Квасов
1 | Макеев
4 | Шевченко

Затем печатаю по порядку каждую запись. но принтер печатает вразброс. Что я делаю не так?
Не учитываете два фактора:
1. Вы не печатате записи, а помещаете их в очередь печати
2. Очередь печати не управляется вами или фоксом

Вы всего лишь в нужном вам порядке поставили файлики в очередь печати и не более того. Порядок, в котором они из этой очереди будут напечатаны, определяется не вами и не фоксом, и не вордом, а операционной системой, и он совершенно не обязан совпадать с порядком помещения в очередь.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780192
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПЗатем печатаю по порядку каждую запись. но принтер печатает вразброс. Что я делаю не так?
А ты уверен что отправляешь в алфавитном порядке? Проверь
Код: sql
1.
2.
3.
4.
USE Fio
brow
SCAN
...


PS Печатаю пачку тем же способом. Все печатается в порядке вызова PrintAny()
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780225
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги!

А как просматривать на форме документ Ворд?
Везде критика ОлеБаундКонтрол на базе Дженерал поля.
Как это сделать на основе Блоба или Мемо бинари?
У меня почему-то это ну никак не получается.
Я и тему создал, но ответов нет уже второй день...
https://www.sql.ru/forum/1309626/kak-pereyti-ot-polya-tipa-general-k-polyam-tipa-blob-ili-memo-binary
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780230
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вот что:

В папке самого ВФП есть примеры.
Среди них есть Solution Samples-New in Visual FoxPro 9.0-Dockable Image Viewer
Может быть у меня что-то странное происходит, но этот пример не работает - на Имедже не появляется никакое изображение.
У меня Виндовс 10, 64.
Никак проблема с просмотром файлов на форме не решается
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780235
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[Dima T]Затем печатаю по порядку каждую запись. но принтер печатает вразброс. Что я делаю не так?[/quot]
А ты уверен что отправляешь в алфавитном порядке? Проверь

Уверен!!! Выше указал именно эту базу - она уже отсортирована и пускаю на печать именно её. Мало того, вывожу на экран имя файла, которое идёт на печать (и тут всё в порядке).
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780246
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov, и что, это никак не лечится? Не верю!!!
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780265
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПPaulWist,
Остается только придумать как это сделать. Мне кажется, что это не то, потому что файлов может быть и 500 и 1000 штук.

How To Merge Multiple Documents And Keep Format In Word?
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780303
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_ПУверен!!! Выше указал именно эту базу - она уже отсортирована и пускаю на печать именно её. Мало того, вывожу на экран имя файла, которое идёт на печать (и тут всё в порядке).
Как вариант: попробуй паузу сделать между отправками (0.5-1 сек.), посмотри в свойствах принтера возможно что-то настраивается.
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780380
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
Dima TКак вариант: попробуй паузу сделать между отправками (0.5-1 сек.).Заработало только когда ставлю задержку >=1 сек. Использую команду WAIT, но как убрать моргание окна, чтобы оно было в фоне? Или можно ли сделать задержку по другому?
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39780381
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс_П
Код: plaintext
Dima TКак вариант: попробуй паузу сделать между отправками (0.5-1 сек.).Заработало только когда ставлю задержку >=1 сек. Использую команду WAIT, но как убрать моргание окна, чтобы оно было в фоне? Или можно ли сделать задержку по другому?
можно inkey()
...
Рейтинг: 0 / 0
Печать вордовского документа из фокса ?
    #39781060
Макс_П
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А реально ли убрать вечно всплывающее окно Word?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать вордовского документа из фокса ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]