powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / приостановить очередь печати через макрос
2 сообщений из 2, страница 1 из 1
приостановить очередь печати через макрос
    #33006284
Valdemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, кто нибудь знает как сделать так чтобы у принтера приостановилась печать. Сделать надо из макроса данную фичу.
...
Рейтинг: 0 / 0
приостановить очередь печати через макрос
    #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
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / приостановить очередь печати через макрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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