Vraag : VBA - het veranderde uitgevoerde recht van printermontages niet altijd

Hallo, verandert

I de printermontages in een toegang-toepassing. De gecre�ërde documenten zouden op een andere printer van tijd tot tijd moeten worden gedrukt dan het standaardprinter.
I werk/>

Could om het even wie wordt gekozen controle mijn code (bijlage die) en verklaart verkeerd me what´s?

Would het possbile is dat de verkeerde code tekort aan de printerbestuurders op user´sPC veroorzaakt?

Many dankt en heeft vooraf een aardige dag!
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 SubsetDruckerSchacht () 
  
    Const strMethSignatur als Koord = MODULE_NAME & „setDruckerSchacht“ 
    
    Op Fout GoTo METH_ERR 
    
    Schemerige arrBuffer () zoals lang 
    Schemerige lngLaenge zoals lang 
    Schemerige lngRueck zoals lang 
    Schemerige udtDevMode als DEVMODE 
    Schemerige udtPrintDef als PRINTER_DEFAULTS 
    Schemerige lngRet zoals lang 
    Schemerige lngPtrDevMode zoals lang 
    Schemerige lngPrinter zoals lang 
    Schemerige strPrinter als Koord 
    
    'IFI: Druckernamen 
    strPrinter = gobjDrucker.Drucker 
    
    'IFI: Printer-gebrek-Struktur initialisieren 
    udtPrintDef.pDatatype = 0 
    udtPrintDef.pDevMode = 0 
    udtPrintDef.DesiredAccess = PRINTER_ALL_ACCESS 
    
    'IFI: De printer öffnen 
    lngRet = OpenPrinter (strPrinter, lngPrinter, udtPrintDef) 
    
    'IFI: Pufferlänge ermitteln 
    lngRet = GetPrinter (lngPrinter, 2, ByVal 0&, 0, lngLaenge) 
    
    'IFI: De kogelvis anpassen 
    ReDim arrBuffer ((lngLaenge \ 4)) 
    
    'IFI: Printerinfos ermitteln (Niveau 2) 
    lngRet = GetPrinter (lngPrinter, 2, arrBuffer (0), lngLaenge, lngLaenge) 
  
    'IFI: Auf van de wijzer matrijs 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 een matrijs ursprüngliche Speicherstelle 
    CopyMemory ByVal lngPtrDevMode, udtDevMode, Len (udtDevMode) 
    
    'IFI: Jira #08010LW-87: Ändern Druckereinstellungen 
    lngRet = DocumentProperties (0, lngPrinter, strPrinter, udtDevMode, udtDevMode, DM_IN_BUFFER) 
    
    lngRet = setPrinter (lngPrinter, 2, arrBuffer (0), 0) 
    
    'IFI: De matrijs Änderungen van Anwendungen über informieren 
    lngRet = SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, strPrinter) 
    
    'IFI: Drucker schließen 
    lngRet = ClosePrinter (lngPrinter) 
    

METH_EXIT: 
    Sub van de uitgang 
    
METH_ERR: 
    MsgBoxMitErl strMethSignatur 
    Hervat METH_EXIT 
    Hervat 

Beëindig Sub

Antwoord : VBA - het veranderde uitgevoerde recht van printermontages niet altijd

Er zijn zeker:

Krijgen-brievenbus | ForEach {krijgen-ActiveSyncDeviceStatistics - Brievenbus: $_.Identity} | de Identiteit van voet, Devicetype, DeviceUserAgent, LastSuccessSync

Andere oplossingen  
 
programming4us programming4us