Get default printer information
Private Declare Function GetProfileStringA Lib "kernel32" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long Sub DefaultPrinterInfo() Dim strLPT As String * 255 Dim Result As String Call GetProfileStringA ("Windows", "Device", "", strLPT, 254) Result = Application.Trim(strLPT) ResultLength = Len(Result) Comma1 = Application.Find(",", Result, 1) Comma2 = Application.Find(",", Result, Comma1 + 1) ' Gets printer's name Printer = Left(Result, Comma1 - 1) ' Gets driver Driver = Mid(Result, Comma1 + 1, Comma2 - Comma1 - 1) ' Gets last part of device line Port = Right(Result, ResultLength - Comma2) Debug.Print Printer Debug.Print Driver Debug.Print Port End Sub
1. | The Printer Object | ||
2. | The Printers Collection | ||
3. | Loop through all printer | ||
4. | Modify Printer Settings |