投稿者 るきお  (社会人) 投稿日時 2022/2/19 16:58:46
Windows API の SetDefaultPrinterを使用すると既定のプリンターを設定できます。
この例はWindowsフォームアプリケーションで作成しています。

Public Class Form1

    <Runtime.InteropServices.DllImport("winspool.drv")>
    Public Shared Function SetDefaultPrinter(Name As StringAs Boolean
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        '参考:インストールされているプリンターの名前を確認する方法 
        For Each printerName As String In Printing.PrinterSettings.InstalledPrinters
            Debug.WriteLine(printerName)
        Next

        '既定のプリンターのセット 
        SetDefaultPrinter("DocuWorks Printer")

    End Sub

End Class


WMIを使う方法もあると思います。

用紙サイズの方は話が込み入っています。

>確認は[設定]  > [デバイス] > [プリンターとスキャナー] で該当プリンタの「印刷設定」で確認しました。
この設定はプリンターごとに違う部分になるかもしれないので、使用されているプリンターのデバイスドライバーの仕様を確認する必要があるかもしれません。

プリンターにこだわらず用紙サイズを指定して印刷できれば良いのであれば、WindowsフォームアプリケーションでPrintDocumentコントロールのDefaultPageSettings.PaperSizeで指定することは可能です。
PrintDocument1.DefaultPageSettings.PaperSize = New Printing.PaperSize("カスタムサイズ", 400, 400)


https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.printing.pagesettings.papersize?view=netframework-2.0