Druckerports
12.08.2007 10:43:00
Harald
gestern bekam ich von Nepumuk folgenden Code, um meine Druckerports zu finden:
siehe auch: https://www.herber.de/forum/messages/895921.html
Option Explicit
Private Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" ( _
ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long
Public Sub Test()
Dim strPrinterName As String, strPort As String
strPrinterName = "Adobe PDF" 'Name des Druckers
Call GetStdPrinterName(strPrinterName, strPort)
Debug.Print strPrinterName & " auf " & strPort
End Sub
Private Sub GetStdPrinterName(strPrinterName As String, strPort As String)
Dim strBuffer As String
Dim lngReturn As Long
strBuffer = Space$(8192)
lngReturn = GetProfileString("windows", "Device", strPrinterName, strBuffer, Len(strBuffer)) _
If lngReturn Then
strBuffer = Mid$(strBuffer, 1, lngReturn)
strPrinterName = Split(strBuffer, ",")(0)
strPort = Split(strBuffer, ",")(2)
End If
End Sub
Nun habe ich festgestellt, dass dabei nicht der Port des gewählten Druckers (Adobe PDF) angegeben wird, sondern der Port des Standarddruckers! Auch bekommt strPrinterName den Namen des Standarddruckers.
Ich brauche aber den Port-Wert eines neu gewählten Druckers (im Beispiel Adobe PDF bzw. bei mir Lexmark E340). Leider hatte ich den Beitrag von gestern schon geschlossen, deshalb der neue Beitrag.
Wer kann mir weiterhelfen? Meine VBA-Kenntnisse sind nur gering.
m.f.g.
Harald