# Get Names of Available Printers Example (VBA)

This example shows how to get the names of the printers available to your computer to which you can print.

    '--------------------------------------------------------------
    ' Preconditions:
    ' 1. Create a VBA macro in a software product in which VBA is
    '    embedded.
    ' 2. Copy and paste this example into the Visual Basic IDE.
    ' 3. Add a reference to the DraftSight type library,
    '    install_dir\bin\dsAutomation.dll.
    ' 4. Start DraftSight.
    ' 5. Open the Immediate window.
    ' 6. Run the macro.
    '
    ' Postcondition: The names of the available printers are written
    ' to the Immediate window.
    '----------------------------------------------------------------

    Sub main()

        Dim dsApp As DraftSight.Application

        'Connect to DraftSight
        Set dsApp = GetObject(, "DraftSight.Application")
        'Abort any command currently running in DraftSight
        'to avoid nested commands
        dsApp.AbortRunningCommand

        'Get list of available printers
        Dim dsPrintMgr As DraftSight.PrintManager
        Set dsPrintMgr = dsApp.GetPrintManager
        Dim printArray() As String
        Dim i As Long
        printArray = dsPrintMgr.GetAvailablePrinters

       'Print names of available printers
        If Not IsEmpty(printArray) Then
           	Debug.Print ("Available printers:")
           	For i = LBound(printArray) To UBound(printArray)
    		Debug.Print ("  " & printArray(i))
           	Next i
        End If

    End Sub