Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / приостановить очередь печати через макрос / 2 сообщений из 2, страница 1 из 1
09.04.2005, 10:16:37
    #33006284
Valdemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
приостановить очередь печати через макрос
короче, кто нибудь знает как сделать так чтобы у принтера приостановилась печать. Сделать надо из макроса данную фичу.
...
Рейтинг: 0 / 0
11.04.2005, 11:21:46
    #33007675
Серегин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
приостановить очередь печати через макрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Public Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
Public Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal Command As Long) As Long
Public Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Public Const CCHDEVICENAME =  32 
Public Const CCHFORMNAME =  32 
Public Type DEVMODE
        dmDeviceName As String * CCHDEVICENAME
        dmSpecVersion As Integer
        dmDriverVersion As Integer
        dmSize As Integer
        dmDriverExtra As Integer
        dmFields As Long
        dmOrientation As Integer
        dmPaperSize As Integer
        dmPaperLength As Integer
        dmPaperWidth As Integer
        dmScale As Integer
        dmCopies As Integer
        dmDefaultSource As Integer
        dmPrintQuality As Integer
        dmColor As Integer
        dmDuplex As Integer
        dmYResolution As Integer
        dmTTOption As Integer
        dmCollate As Integer
        dmFormName As String * CCHFORMNAME
        dmUnusedPadding As Integer
        dmBitsPerPel As Long
        dmPelsWidth As Long
        dmPelsHeight As Long
        dmDisplayFlags As Long
        dmDisplayFrequency As Long
End Type
Public Type PRINTER_DEFAULTS
        pDatatype As String
        pDevMode As DEVMODE
        DesiredAccess As Long
End Type
Public Const PRINTER_CONTROL_PAUSE =  1 
Public Const PRINTER_CONTROL_RESUME =  2 
' собственно функция
Sub PauseResumePrinter(bPause As Boolean)
    Dim hP As Long, lngRetVal As Long, lngCmd As Long, sPrinter As String
    sPrinter = Application.ActivePrinter
    lngCmd = InStr( 1 , sPrinter, "(")
    If lngCmd >  0  Then sPrinter = LTrim(Left(sPrinter, lngCmd -  1 ))
    lngRetVal = OpenPrinter(sPrinter, hP, ByVal CLng( 0 ))
    If lngRetVal <>  0  Then
        If bPause Then lngCmd = PRINTER_CONTROL_PAUSE Else lngCmd = PRINTER_CONTROL_RESUME
        lngRetVal = SetPrinter(hP,  0 , ByVal CLng( 0 ), lngCmd)
        If lngRetVal =  0  Then MsgBox "Не удалось приостановить принтер"
        lngRetVal = ClosePrinter(hP)
    Else
        MsgBox "Принтер не открывается"
    End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / приостановить очередь печати через макрос / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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