FAX出力する処理を持ったプログラムの改修作業を行っており、その過程でプリンタ出力処理を新しく書き直すことに。FAX出力ドライバはプリンタドライバの形式をとっており、プログラムからはプリンタに出力するかのようにプリンタ名を指定すればOK……だったのですが、改修前のプリンタ名を指定しても…
プリンタ'〜〜(プリンタ名)'にアクセスする設定が有効ではありません。
というエラーが。これはやっかいだなぁ、と思っていたのですが、ふとプリンタ名を見てみると、従来のソースは
"プリンタ名","プリンタ名",null
のように冗長な感じの文字列が指定されている。もしや、と思い、実際に職場にある普通のプリンタ(リコーのIPSiO)のプリンタ名を以下のロジックで取得し、まずは取得した名称で印刷が行えることを確認…
Dim printerList As System.Drawing.Printing.PrinterSettings.StringCollection printerList = Printing.PrinterSettings.InstalledPrinters
次に、印刷できていたプリンタ名をわざと改変して変な名前にすると……「〜にアクセスする設定が有効ではありません。」エラーが発生。要するに、指定された文字列に該当するプリンタが無かったってことなのね。