In LotusScript, to create WMI Object, then setting default print and getting printer size.
Dim objWMIService As Variant
Dim colInstalledPrinters As Variant
Dim objInstances As Variant
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
n = 0
Forall objPrinter In colInstalledPrinters
Redim Preserve pArray(n) As String
pArray(n) = objPrinter.Name
n = n + 1
End Forall
PrinterPath = ws.Prompt(4,"請選擇印表機","請從下列清單選擇所要使用的印表機:","",pArray)
If Cstr(PrinterPath)="" Then Exit Sub
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name =" & "'" & PrinterPath & "'")
Forall objPrinter In colInstalledPrinters
Call objPrinter.SetDefaultPrinter()
End Forall
Set objInstances = objWMIService.InstancesOf("Win32_PrinterConfiguration",48)
Forall objInstance In objInstances
If objInstance.name = PrinterPath Then
Msgbox objInstance.Orientation
Msgbox objInstance.PaperSize
End If
End Forall
WMI is very Powerful, even control your PC.
Microsoft: WMI Reference


