powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать задержку?
7 сообщений из 7, страница 1 из 1
Как сделать задержку?
    #32611420
Gotar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть делитантский макрос на VBA...

Первая часть выполняет печать в файл, а вторая запускает программу для перевода распечатанного файла в .pdf формат.

Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, printtofile:=True, PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0, _
OutputFileName:="C:\TEMP\Task.ps"

RetVal = Shell("C:\gs\gs8.14\bin\gswin32.exe -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=C:\TEMP\Task.pdf -dBATCH C:\TEMP\Task.ps ")

Вопрос - как сделать задержку между выполнением этих двух пунктов, так как виртуальный принтер не успевает создать файл, а программа уже запускает конвертацию и в результате создается пустой pdf файл....

Так же пробовал ставить таймер с задержкой между 1ой и 2ой чатью, но ничего не вышло, такое впечатление, что он останавливает печать принтера....

Кто что может посоветовать?
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32611650
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/87787&hl=sleep
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32611768
Gotar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается с задержкой - пдф файл серавно пустой....
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32611795
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо использовать не shell + sleep (ведь сколько ждать - неизвестно, зависит от размера файла и мощности/загруженности компа).
Надо запускать gswin32.exe с ожиданием завершения. Например, вот так
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32611815
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя если оно работает через спулер, то все равно отработает быстрее, чем файл будет создан...
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32612824
Gotar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПС но я уже решил ету проблемму...
Дело в том что прога не реагирует ни на какие задержки и слипе в самом коде, хотя для меня странно почему... в общем перед запросом имени файла запускается 1ая часть, а пока вы набираете имя файла и директорию файл спокойно распечатывается 8))))))))))
...
Рейтинг: 0 / 0
Как сделать задержку?
    #32613398
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналогичную задачу я реализовал с помощью методов прилагаемого класса.
Вот фрагмент работающего кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
'     Comments  : Launch a program
'     Parameters: lnghWnd - Handle to window of a form
'                 strProgram - Path to program to launch
'                 strParameters - Command line arguments for the program
'                 strStartIn - Default startup directory for the program
'                 eShowStyle - Constant indicating how the program
'                 is to be displayed (maximized, minimized etc.)
'     Returns   : - 1  on Success, or one of the values in the
'                 EnumShellExecuteErrors constants on failure
Dim ShellExecute As CShellExecute
Dim lngResult As EnumShellExecuteErrors

Set ShellExecute = New CShellExecute
lngResult = ShellExecute.LaunchProgram( _
               frmMain.hwnd, _
               NameExeFile, _
               strParm, _
               strPath, _
               sesSW_HIDE)
sbrPan = "Ожидайте завершения внешней програмы!..."
While ShellExecute.StillExecuting = True
    DoEvents
Wend
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать задержку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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