Pytanie : VBA - rozmieniony drukarka położenie zawsze prawy wykonywać

Cześć,

I zmiana the drukarka położenie w przystępować-zastosowanie. The tworzyć dokument musieć drukować na inny drukarka the user´s aktualny/brak printer.

I praca od czas czas. Od czas nie: I znaczyć the dokument drukować na the user´s brak drukarka. Ono wydawać się ono zależeć także na the drukarka wybierać the dostęp application.

Could zależeć czek mój kod (widzieć klauzura) i wyjaśniać what´s źle?

Would ono być possbile że the mylny kod przyczyna dezerterować the drukarka kierowca na the user´s komputer osobisty?

Many dzięki w postęp i mieć ładny dzień!
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:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
Public Okręt podwodny setDruckerSchacht () 
  
    Const strMethSignatur Jako Sznurek = MODULE_NAME & "setDruckerSchacht" 
    
    Na Błąd Rozpoczynający METH_ERR 
    
    Ciemnawy arrBuffer () Długo 
    Ciemnawy lngLaenge Długo 
    Ciemnawy lngRueck Długo 
    Ciemnawy udtDevMode Jako DEVMODE 
    Ciemnawy udtPrintDef Jako PRINTER_DEFAULTS 
    Ciemnawy lngRet Długo 
    Ciemnawy lngPtrDevMode Długo 
    Ciemnawy lngPrinter Długo 
    Ciemnawy strPrinter Sznurek 
    
    'ifi: Druckernamen 
    strPrinter = gobjDrucker.Drucker 
    
    'ifi: Drukarka-brak-Struktur initialisieren 
    udtPrintDef.pDatatype = (0) 
    udtPrintDef.pDevMode = (0) 
    udtPrintDef.DesiredAccess = PRINTER_ALL_ACCESS 
    
    'ifi: Drukarka öffnen 
    lngRet = OpenPrinter (strPrinter, lngPrinter, udtPrintDef) 
    
    'ifi: Pufferlänge ermitteln 
    lngRet = GetPrinter (lngPrinter, 2, ByVal 0&, (0), lngLaenge) 
    
    'ifi: Puffer anpassen 
    ReDim arrBuffer ((lngLaenge \ 4)) 
    
    'ifi: Printerinfos ermitteln (Poziom 2) 
    lngRet = GetPrinter (lngPrinter, 2, arrBuffer ((0)), lngLaenge, lngLaenge) 
  
    'ifi: Pointer auf kostkowy Devmode-Struktur 
    lngPtrDevMode = arrBuffer (7) 
    
    'ifi: Eigene Devmode-Struktur füllen 
    CopyMemory udtDevMode, ByVal lngPtrDevMode, Len (udtDevMode) 
    
    'ifi: Jetzt Schacht auswählen (1. Blatt = erstBlatt, Trennblatt = Trennblatt) 
    udtDevMode.dmDefaultSource = gobjDrucker.erstBlattID 
      
    'ifi: Änderungen zurück kostkowy ursprüngliche Speicherstelle 
    CopyMemory ByVal lngPtrDevMode, udtDevMode, Len (udtDevMode) 
    
    'ifi: Jira #08010LW-87: Druckereinstellungen ändern 
    lngRet = DocumentProperties ((0), lngPrinter, strPrinter, udtDevMode, udtDevMode, DM_IN_BUFFER) 
    
    lngRet = setPrinter (lngPrinter, 2, arrBuffer ((0)), (0)) 
    
    'ifi: Anwendungen über kostka do gry Änderungen informieren 
    lngRet = SendMessage (HWND_BROADCAST, WM_WININICHANGE, (0), strPrinter) 
    
    'ifi: Drucker schließen 
    lngRet = ClosePrinter (lngPrinter) 
    

METH_EXIT: 
    Wyjście Okręt podwodny 
    
METH_ERR: 
    MsgBoxMitErl strMethSignatur 
    Życiorys METH_EXIT 
    Życiorys 

Końcówka Okręt podwodny

Odpowiedź : VBA - rozmieniony drukarka położenie zawsze prawy wykonywać

Tam  pewny być:

Dostawać-skrzynka pocztowa | ForEach {Dostawać-ActiveSyncDeviceStatistics - Skrzynka pocztowa: $_.Identity} | ft Tożsamość, Devicetype, DeviceUserAgent, LastSuccessSync

Inne rozwiązania  
 
programming4us programming4us