NSDPrinterSetting メンバ
プリンタを操作します。
●コンストラクタ
名前 説明 NSDPrinterSetting NSDPrinterSettingを初期化します。
●メソッドの一覧
名前 引数 戻り値 説明 Dispose なし なし NSDPrinterSettingクラスのオブジェクトで使用されている全てのリソースを解放します。 GetLastDllErr なし Integer型 最後に発生したDLLのエラーを返します。 GetPrinterList ( String() ) Boolean型 インストールされているプリンタのリストを返します。 IsDefault ( String , Boolean ) Boolean型 通常使うプリンタかを取得します。 SetDefault ( String ) Boolean型 通常使うプリンタにします。 SetControl ( String , ControlNo ) Boolean型 プリンタの状態を設定します。 GetStatus ( String , STATUS ) Boolean型 プリンタのステータスを取得します。 GetStatusMsg ( STATUS , String ) String型 プリンターのステータスメッセージを取得します。 IsQUEUED ( String , Boolean ) Boolean型 「全ページ分のデータをスプールしてから、印刷データをプリンタに送る」を取得します。 SetQUEUED ( String , Boolean ) Boolean型 「全ページ分のデータをスプールしてから、印刷データをプリンタに送る」を設定します。 IsDirect ( String , Boolean ) Boolean型 「プリンタに直接印刷データを送る」かを返します。 SetDirect ( String , Boolean ) Boolean型 「プリンタに直接印刷データを送る」かを設定します。 ( String , Boolean , Boolean ) Boolean型 「プリンタに直接印刷データを送る」かを設定します。 IsENABLE_DEVQ ( String , Boolean ) Boolean型 「一致しないドキュメントを保留する」を取得します。 SetENABLE_DEVQ ( String , Boolean ) Boolean型 「一致しないドキュメントを保留する」を設定します。 IsDO_COMPLETE_FIRST ( String , Boolean ) Boolean型 「スプールされたドキュメントを最初に印刷する」を取得します。 SetDO_COMPLETE_FIRST ( String , Boolean ) Boolean型 「スプールされたドキュメントを最初に印刷する」を設定します。 IsKEEPPRINTEDJOBS ( String , Boolean ) Boolean型 「印刷後ドキュメントを残す」を取得します。 SetKEEPPRINTEDJOBS ( String , Boolean ) Boolean型 「印刷後ドキュメントを残す」を設定します。 IsRAW_ONLY ( String , Boolean ) Boolean型 「詳細な印刷機能を有効にする(OFFの場合)」を取得します。 SetRAW_ONLY ( String , Boolean ) Boolean型 「詳細な印刷機能を有効にする(OFFの場合)」を設定します。 IsENABLE_BIDI ( String , Boolean ) Boolean型 「プリンタが双方向通信状態」かを返します。 SetENABLE_BIDI ( String , Boolean ) Boolean型 「プリンタが双方向通信」かをセットします。 IsOnLine ( String , Boolean ) Boolean型 プリンタがオンライン状態かオフライン状態かを返します。 SetOnLine ( String , Boolean ) Boolean型 プリンタがオンライン状態かオフライン状態かをセットします。 GetPortList ( PORT_LIST ) Boolean型 出力ポートのリストを返します。 ChangeOutPort ( String , String ) Boolean型 出力ポートを変更します。 GetOutPort ( String ) String型 出力ポート名を取得します。 JobCount ( String , Integer ) Boolean型 印刷ジョブの件数を返します。 JobInfo ( String , JOB_LIST , [Integer] , [Boolean] ) Boolean型 印刷ジョブ情報を取得します。 JobInfo1 ( String , [Boolean] , [Boolean] ) JOB_List1()型 印刷ジョブ情報1を取得します。 JobInfo2 ( String , [Boolean] , [Boolean] ) JOB_List2()型 印刷ジョブ情報2を取得します。 DeleteJob ( String , Int32 , [Int32] , [Boolean] ) Boolean型 印刷ジョブを削除します。 GetFormsList ( String , FORM_INFO_1() , [FORM] ) Boolean型 サポートされている用紙のリストを返します。 GetPaperName ( String , String() , Integer() ) Boolean型 サポートされている用紙の名前(レター、リーガルなど)のリストを取得します。 GetMediaRady ( String , String() ) Boolean型 現在利用できる用紙の名前を取得します。 GetPaperSize ( String , Integer , String ) Boolean型 現在選択している用紙サイズを返します。 SetPaperSize ( String , Integer ) Boolean型 現在選択している用紙サイズを設定します。 ( String , String ) Boolean型 現在選択している用紙サイズを設定します。 GetFormSizeValue ( Boolean , Int32 ) Single型 用紙サイズ、印刷可能領域をメートル法またはヤードポンド法に変換します。 SetFormSizeValue ( Boolean , Single ) Int32型 メートル法またはヤードポンド法の値を用紙サイズ、印刷可能領域用に変換します。 ( Boolean , String ) Int32型 メートル法またはヤードポンド法の値を用紙サイズ、印刷可能領域用に変換します。 ConvertMarginIntoImageableArea ( RECTL , SIZEL ) なし 余白を印刷可能領域に変換します。 ConvertImageableAreaIntoMargin ( RECTL , SIZEL ) なし 印刷可能領域を余白を変換します。 IsOkImageableArea ( SIZEL , RECTL ) Boolean型 印刷可能領域が正常に設定されているかを確認します。 GetForm ( String , String , FORM_INFO_1 ) Boolean型 用紙の情報を取得します。 SetForm ( String , FORM_INFO_1 ) Boolean型 用紙を設定します。 AddForm ( String , String , SIZEL , RECTL ) Boolean型 出力可能な用紙を追加します。 DeleteForm ( String , String ) Boolean型 プリンターから用紙を削除します。 GetPrinterData ( String , NSDPrintData() ) Boolean型 プリンターの構成データを取得します。 ShowPrinterProperty ( String ) Boolean型 プリンターのプロパティを表示します。 ( String , IntPtr ) Boolean型 プリンターのプロパティを表示します。
●データ用クラスの一覧
名前:NSDPrintData
構文:
Public Class NSDPrintData Public DataName As String Public DataType As NSDRegType Public DataValue As Object End Class
内容:構成データ
名前 型 説明 DataName String 名前。 DataType NSDRegType データのタイプ。 DataValue Object データ値。
●構造体の一覧
名前:JOB_List1
構文:
Public Structure JOB_List1 Public JobId As Int32 Public pPrinterName As String Public pMachineName As String Public pUserName As String Public pDocument As String Public pDatatype As String Public pStatus As String Public Status As JOB_STATUS Public Priority As Int32 Public Position As Int32 Public TotalPages As Int32 Public PagesPrinted As Int32 Public Submitted As DateTime End Structure
内容:
名前 型 説明 JobId Int32 印刷ジョブのID。 pPrinterName String プリンタ名。 pMachineName String コンピュータ名。 pUserName String ユーザー名。 pDocument String 印刷ジョブ名。 pDatatype String データのタイプ。 pStatus String ステータス(状態)。 Status JOB_STATUS ジョブのステータスを示す定数の組み合わせ。 Priority Int32 印刷ジョブの優先順位。 Position Int32 印刷キュー内のジョブの位置。 TotalPages Int32 ページ数。 PagesPrinted Int32 印刷済みページ数。 Submitted DateTime スプールされた日時。
名前:JOB_List2
構文:
Public Structure JOB_List2 Public JobId As Int32 Public pPrinterName As String Public pMachineName As String Public pUserName As String Public pDocument As String Public pNotifyName As String Public pDatatype As String Public pPrintProcessor As String Public pParameters As String Public pDriverName As String Public pStatus As String Public Status As JOB_STATUS Public Priority As Int32 Public Position As Int32 Public StartTime As Int32 Public UntilTime As Int32 Public TotalPages As Int32 Public Size As Int32 Public Submitted As DateTime Public Time As Int32 Public PagesPrinted As Int32 End Structure
内容:
名前 型 説明 JobId Int32 印刷ジョブのID。 pPrinterName String プリンタ名。 pMachineName String コンピュータ名。 pUserName String ユーザー名。 pDocument String 印刷ジョブ名。 pNotifyName String 印刷ジョブの終了またはエラー発生時に通知するユーザー名。 pDatatype String データのタイプ。 pPrintProcessor String プリンタプロセッサ名。 pParameters String プリントプロセッサのパラメータ。 pDriverName String プリンタドライバ名。 pStatus String ステータス(状態)。 Status JOB_STATUS ジョブのステータスを示す定数の組み合わせ。 Priority Int32 印刷ジョブの優先順位。 Position Int32 印刷キュー内のジョブの位置。 StartTime Int32 印刷可能な最も早い時間。 UntilTime Int32 印刷可能な最も遅い時間。 TotalPages Int32 ページ数。 Size Int32 印刷ジョブのバイト数。 Submitted DateTime スプールされた日時。 Time Int32 印刷開始からの経過時間(単位:秒)。 PagesPrinted Int32 印刷済みページ数。
名前:JOB_LIST
構文:
Public Structure JOB_LIST Public Int_Count As Integer Public Int_JobID() As Int32 Public Str_JobName() As String Public Str_PrinterName() As String Public Str_MachineName() As String Public Str_UserName() As String Public Str_DataType() As String Public Str_Status() As String Public Int_Status() As JOB_STATUS Public Int_Priority() As Int32 Public Int_Position() As Int32 Public Int_TotalPages() As Int32 Public Int_PagesPrinted() As Int32 Public Date_SpoolDay() As DateTime Public Str_NotifyName() As String Public Str_PrintProcessor() As String Public Str_Parameters() As String Public Str_DriverName() As String Public Int_StartTime() As Int32 Public Int_UntilTime() As Int32 Public Int_Size() As Int32 Public Int_Time() As Int32 End Structure
内容:
名前 型 説明 Int_Count Integer 印刷ジョブの件数。 Int_JobID() Int32 印刷ジョブのID。 Str_JobName() String 印刷ジョブ名。 Str_PrinterName() String 印刷ジョブのプリンタ名。 Str_MachineName() String 印刷ジョブのコンピュータ名。 Str_UserName() String 印刷ジョブのユーザー名。 Str_DataType() String 印刷ジョブのデータタイプ。 Str_Status() String 印刷ジョブのステータス(状態)。 Int_Status() JOB_STATUS 印刷ジョブのステータスを示す定数の組み合わせ。 Int_Priority() Int32 印刷ジョブの優先順位。 Int_Position() Int32 印刷キュー内のジョブの位置。 Int_TotalPages() Int32 印刷ジョブのページ数。 Int_PagesPrinted() Int32 印刷済みページ数。 Date_SpoolDay() DateTime スプールされた日時。 Str_NotifyName() String 印刷ジョブの終了またはエラー発生時に通知するユーザー名。 *1 Str_PrintProcessor() String プリンタプロセッサ名。 *1 Str_Parameters() String プリントプロセッサのパラメータ。 *1 Str_DriverName() String プリンタドライバ名。 *1 Int_StartTime() Int32 印刷可能な最も早い時間。 *1 Int_UntilTime() Int32 印刷可能な最も遅い時間。 *1 Int_Size() Int32 印刷ジョブのバイト数。 *1 Int_Time() Int32 印刷開始からの経過時間(単位:秒)。 *1 *1 取得レベル2以降でセットされます。
名前:PRINTER_INFO_1
構文:
Public Structure PRINTER_INFO_1 Public Flags As Int32 Public pPDescription As String Public pName As String Public pComment As String End Structure
内容:
名前 型 説明 Flags Int32 データの情報。 pPDescription String プリンタの説明。 pName String プリンタの名前。 pComment String プリンタのコメント。
名前:PORT_LIST
構文:
Public Structure PORT_LIST Public Int_Count As Integer Public Str_PortName() As String Public Str_MoniterName() As String Public Str_Description() As String Public Int_PortType() As Int32 End Structure
内容:
名前 型 説明 Int_Count Integer 出力ポート数。 Str_PortName() String 力ポート名。 Str_MoniterName() String モニター名。 Str_Description() String 出力ポートの説明。 Int_PortType() Int32 ポートタイプ。
名前:RECTL
構文:
Public Structure RECTL Public Left As Int32 Public Top As Int32 Public Right As Int32 Public Bottom As Int32 End Structure
内容:
名前 型 説明 Left Int32 左。 Top Int32 上。 Right Int32 右。 Bottom Int32 下。
名前:SIZEL
構文:
Public Structure SIZEL Public cx As Int32 Public cy As Int32 End Structure
内容:
名前 型 説明 cx Int32 幅。 cy Int32 高さ。
名前:FORM_INFO_1
構文:
Public Structure FORM_INFO_1 Public Flags As FORM Public pName As String Public Size As SIZEL Public ImageableArea As RECTL End Structure
内容:
名前 型 説明 Flags FORM 特性。 pName String 名前。 Size SIZEL 用紙サイズ。 ImageableArea RECTL 印刷可能領域。
●定数の一覧
名前:ControlNo 定数 内容 PRINTER_CONTROL_PAUSE プリンタを一時停止する。 PRINTER_CONTROL_RESUME プリンタのすべての印刷ジョブを削除する。 PRINTER_CONTROL_PURGE 一時停止しているプリンタを再開する。 PRINTER_CONTROL_SET_STATUS プリンタの状態を設定する。
名前:STATUS 定数 内容 PRINTER_STATUS_READY 印刷準備OK。 PRINTER_STATUS_PAUSED 一時停止中。 PRINTER_STATUS_ERROR エラー状態。 PRINTER_STATUS_PENDING_DELETION 削除の保留中。 PRINTER_STATUS_PAPER_JAM 紙詰まり。 PRINTER_STATUS_PAPER_OUT 用紙切れ。 PRINTER_STATUS_MANUAL_FEED 手動フィードの状態。 PRINTER_STATUS_PAPER_PROBLEM 用紙に問題がある。 PRINTER_STATUS_OFFLINE オフライン。 PRINTER_STATUS_IO_ACTIVE このプリンタはアクティブな入力出力状態。 PRINTER_STATUS_BUSY プリンタはヒジー。 PRINTER_STATUS_PRINTING 印刷中。 PRINTER_STATUS_OUTPUT_BIN_FULL 出力トレイがいっぱい。 PRINTER_STATUS_NOT_AVAILABLE 印刷ができない状態。 PRINTER_STATUS_WAITING 印刷待ち状態。 PRINTER_STATUS_PROCESSING コマンドを処理中。 PRINTER_STATUS_INITIALIZING プリンタの初期化中。 PRINTER_STATUS_WARMING_UP ウォーミングアップ中。 PRINTER_STATUS_TONER_LOW トナーが不足。 PRINTER_STATUS_NO_TONER トナーがない。 PRINTER_STATUS_PAGE_PUNT 現在のページを印刷できない。 PRINTER_STATUS_USER_INTERVENTION ユーザ要求に対するエラー。 PRINTER_STATUS_OUT_OF_MEMORY プリンタのメモリ不足。 PRINTER_STATUS_DOOR_OPEN プリンタのカバーが開いている。 PRINTER_STATUS_SERVER_UNKNOWN 状態不明。 PRINTER_STATUS_POWER_SAVE 省電力モード。
名前:JOB_STATUS 定数 内容 JOB_STATUS_PAUSED 中断。 JOB_STATUS_ERROR エラー。 JOB_STATUS_DELETING 削除中。 JOB_STATUS_SPOOLING スプール中。 JOB_STATUS_PRINTING 印刷中。 JOB_STATUS_OFFLINE オフライン。 JOB_STATUS_PAPEROUT 用紙切れ。 JOB_STATUS_PRINTED 印刷済み。 JOB_STATUS_DELETED 削除。 JOB_STATUS_BLOCKED_DEVQ ドライバエラー。 JOB_STATUS_USER_INTERVENTION 機器不良。 JOB_STATUS_RESTART 再起動中。
名前:FORM 定数 内容 FORM_ALL 全ての定義。 FORM_USER ユーザー定義。 FORM_BUILTIN スプーラ定義。 FORM_PRINTER プリンタ定義。
名前:NSDRegType 定数 内容 REG_NONE 定義されていない種類。 REG_SZ NULLで終わる文字列。 REG_EXPAND_SZ 展開前の環境変数への参照が入ったNULLで終わる文字列。 REG_BINARY 任意の形式のバイナリデータ。 REG_DWORD 32ビット数。 REG_DWORD_LITTLE_ENDIAN リトルエンディアンの32ビット数。 REG_DWORD_BIG_ENDIAN ビックエンディアンの32ビット数。 REG_LINK Unicodeシンボリックリンク。 REG_MULTI_SZ NULLで終わる文字列の配列。 配列は2つのNULLで終わります。 REG_RESOURCE_LIST デバイスドライバのリソースリスト。 REG_FULL_RESOURCE_DESCRIPTOR 物理デバイスが使用するハードウェアリソース情報。 REG_RESOURCE_REQUIREMENTS_LIST 「REG_RESOURCE_LIST」で定義された、デバイスドライバが使用可能なハードウェアリソース情報のリストを格納する。
●NSDPrinterSettingコンストラクタの説明
構文:Public Sub New()
使用法:Dim PS As New NSDPrinterSetting
引数:なし。
使用例:
Public Class Form1 Dim PS As NSDPrinterSetting = Nothing ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' Loadイベント。 Private Sub Form1_Load( ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles Me.Load Try PS = New NSDPrinterSetting : Catch ex As Exception Finally End Try End Sub End Class
●NSDPrinterSettingメソッドの説明
名前:Dispose
構文:Public Overridable Sub Dispose()
機能:NSDPrinterSettingクラスのオブジェクトで使用されている全てのリソースを解放します。
※終了時に必ず呼び出します。
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 Dim PS As NSDPrinterSetting = Nothing ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' Loadイベント。 Private Sub Form1_Load( ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles Me.Load Try PS = New NSDPrinterSetting : Catch ex As Exception Finally End Try End Sub End Class
名前:GetLastDllErr
構文:Public Function GetLastDllErr() As Integer
機能:最後に発生したDLLのエラーを返します。
引数:なし。
戻り値:Integer
戻り値の説明:
DLL関数の呼び出し後のエラーを返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' オンライン状態にします。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" If Not PS.SetOnLine(Str_PrinterName, True) Then Select Case PS.GetLastDllErr Case NSDPrinterSetting.ERROR_ACCESS_DENIED Call MsgBox("アクセスが拒否されました。") Case Else Call MsgBox("失敗しました。") End Select End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetPrinterList
構文:Public Function GetPrinterList( PrinterList() ) As Boolean
機能:インストールされているプリンタのリストを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterList() String 参照渡し(ByRef) プリンタ名のリストを返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' Loadイベント。 Private Sub Form1_Load( ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles Me.Load Try ' プリンタのリストを取得します。 Dim Str_PrinterName() As String = Nothing ' プリンタ名。 With Me.ComboBox1 .Items.Clear If PS.GetPrinterList(Str_PrinterName) Then For Int_Loop As Integer = 0 To Str_PrinterName.Length - 1 ' プリンタ名をセットします。 .Items.Add(Str_PrinterName(Int_Loop)) Next Int_Loop End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:IsDefault
構文:Public Function IsDefault( PrinterName , DEFAULT ) As Boolean
機能:通常使うプリンタかを取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。DEFAULT Boolean 参照渡し(ByRef) 通常使うプリンタの場合はTrueを返します。
それ以外の場合はFalseを返します。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' Loadイベント。 Private Sub Form1_Load( ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles Me.Load Try ' プリンタのリストを取得します。 Dim Str_PrinterName() As String = Nothing ' プリンタ名。 With Me.ComboBox1 .Items.Clear If PS.GetPrinterList(Str_PrinterName) Then ' 通常使用するプリンタを初期化。 Dim Int_Default As Integer = -1 For Int_Loop As Integer = 0 To Str_PrinterName.Length - 1 ' プリンタ名をセットします。 .Items.Add(Str_PrinterName(Int_Loop)) Dim Bln_Default As Boolean ' 通常使用するプリンタの確認用。 If PS.IsDefault(Str_PrinterName(Int_Loop), Bln_Default) Then If Bln_Default Then ' 通常使用するプリンタを確認。 Int_Default = Int_Loop End If End If Next Int_Loop If Int_Default <> -1 Then ' 通常使用するプリンタをセット。 .SelectedItem = .Items(Int_Default) End If End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:SetDefault
構文:Public Function SetDefault( PrinterName ) As Boolean
機能:通常使うプリンタにします。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' Loadイベント。 Private Sub Form1_Load( ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles Me.Load Try Dim Str_PrinterName As String = "Printer_A" If PS.SetDefault(Str_PrinterName) Then MsgBox("通常使用するプリンタを「" & Str_PrinterName & _ "」に変更しました。") Else MsgBox("通常使用するプリンタの変更に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetControl
構文:Public Function SetControl( PrinterName , ControlNo ) As Boolean 機能:プリンタの状態を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。ControlNo ControlNo 値渡し(ByVal) 設定する状態を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 一時停止にします。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try ' 状態を設定します。 Dim Str_PrinterName As String = "Printer_A" If PS.SetControl(Str_PrinterName, _ NSDPrinterSetting.ControlNo.PRINTER_CONTROL_PAUSE) Then MsgBox("プリンタを一時停止にしました。") Else MsgBox("プリンタの一時停止に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetStatus
構文:Public Function GetStatus( PrinterName , STATUS ) As Boolean
機能:プリンタのステータスを取得します。
※実際のプリンタの状態と異なる場合があります。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。STATUS STATUS 参照渡し(ByRef) ステータスを返します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 状態を表示します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Int_Status As NSDPrinterSetting.STATUS If PS.GetStatus(Str_PrinterName, Int_Status) Then Dim Str_Msg As String = PS.GetStatusMsg(Int_Status, "不明です。") MsgBox(Str_Msg) Else MsgBox("状態の取得に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetStatusMsg
構文:Public Function GetStatusMsg( Status , UnKnownMsg ) As String
機能:プリンターのステータスメッセージを取得します。
引数:
名前 型 引数渡しの方法 説明 Status STATUS 値渡し(ByVal) ステータスを渡します。 UnKnownMsg String 値渡し(ByVal) 不明な場合のメッセージを渡します。 戻り値:String
戻り値の説明:
ステータスメッセージを戻します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 状態を表示します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Int_Status As NSDPrinterSetting.STATUS If PS.GetStatus(Str_PrinterName, Int_Status) Then Dim Str_Msg As String = PS.GetStatusMsg(Int_Status, "不明です。") MsgBox(Str_Msg) Else MsgBox("状態の取得に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsQUEUED
構文:Public Function IsQUEUED( PrinterName , QUEUED ) As Boolean
機能:全ページ分のデータをスプールしてから、印刷データをプリンタに送る」を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。QUEUED Boolean 参照渡し(ByRef) スプールの設定を返します。
True :全ページ分のデータをスプールしてから、印刷データをプリンタに送る。
False:すぐに印刷データをプリンタに送る。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 全ページ分のデータをスプールしてから、印刷データをプリンタに送る。 Dim Bln_QUEUED As Boolean If PS.IsQUEUED(Str_PrinterName, Bln_QUEUED) Then If Not Bln_QUEUED Then If PS.SetQUEUED(Str_PrinterName, Not Bln_QUEUED) Then Call MsgBox("「全ページ分のデータをスプールしてから、" & _ "印刷データをプリンタに送る。」に変更しました。") Else Call MsgBox("スプールの設定変更に失敗しました。") End If End If Else Call MsgBox("スプールの設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetQUEUED
構文:Public Function SetQUEUED( PrinterName , QUEUED ) As Boolean
機能:「全ページ分のデータをスプールしてから、印刷データをプリンタに送る」を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。QUEUED Boolean 値渡し(ByVal) スプールの設定を渡します。
True :全ページ分のデータをスプールしてから、印刷データをプリンタに送る。
False:すぐに印刷データをプリンタに送る。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 全ページ分のデータをスプールしてから、印刷データをプリンタに送る。 Dim Bln_QUEUED As Boolean If PS.IsQUEUED(Str_PrinterName, Bln_QUEUED) Then If Not Bln_QUEUED Then If PS.SetQUEUED(Str_PrinterName, Not Bln_QUEUED) Then Call MsgBox("「全ページ分のデータをスプールしてから、" & _ "印刷データをプリンタに送る。」に変更しました。") Else Call MsgBox("スプールの設定変更に失敗しました。") End If End If Else Call MsgBox("スプールの設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsDirect
構文:Public Function IsDirect( PrinterName , Direct ) As Boolean
機能:「プリンタに直接印刷データを送る」かを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。Direct Boolean 参照渡し(ByRef) スプール有無を返します。
True :プリンタに直接印刷データを送る。
False:印刷ドキュメントをスプールし、プログラムの印刷処理を高速に行う。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' プリンタに直接印刷データを送る。 Dim Bln_Direct As Boolean If PS.IsDirect(Str_PrinterName, Bln_Direct) Then If Not Bln_Direct Then If PS.SetDirect(Str_PrinterName, Not Bln_Direct) Then Call MsgBox("「プリンタに直接印刷データを送る。」に変更しました。") Else Call MsgBox("スプールの設定変更に失敗しました。") End If End If Else Call MsgBox("スプールの設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetDirect
機能:「プリンタに直接印刷データを送る」かを設定します。
構文:Public Function SetDirect( PrinterName , Direct ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。Direct Boolean 値渡し(ByVal) スプール有無を渡します。
True :プリンタに直接印刷データを送る。
False:印刷ドキュメントをスプールし、プログラムの印刷処理を高速に行う。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' プリンタに直接印刷データを送る。 Dim Bln_Direct As Boolean = False If PS.IsDirect(Str_PrinterName, Bln_Direct) Then If Not Bln_Direct Then If PS.SetDirect(Str_PrinterName, Not Bln_Direct) Then Call MsgBox("「プリンタに直接印刷データを送る。」に変更しました。") Else Call MsgBox("スプールの設定変更に失敗しました。") End If End If Else Call MsgBox("スプールの設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
A「全ページ分のデータをスプールしてから、印刷データをプリンタに送る」の設定を確認してから「プリンタに直接印刷データを送る」かを設定します。
構文:Public Function SetDirect( PrinterName , Direct , QUEUED_Check ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。Direct Boolean 値渡し(ByVal) スプール有無を渡します。
True :プリンタに直接印刷データを送る。
False:印刷ドキュメントをスプールし、プログラムの印刷処理を高速に行う。QUEUED_Check Boolean 値渡し(ByVal) スプール状態の確認と変更を行うかを渡します。
True :全ページ分のデータをスプールしてから、印刷データをプリンタに送るをチェックし変更します。※Direct=Trueの場合は、「全ページ分のデータをスプールしてから、印刷データをプリンタに送る」を「すぐに印刷データをプリンタに送る。」に変更します。
False:全ページ分のデータをスプールしてから、印刷データをプリンタに送るのチェックを行いません。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' プリンタに直接印刷データを送る。 Dim Bln_Direct As Boolean = False If PS.IsDirect(Str_PrinterName, Bln_Direct) Then If Not Bln_Direct Then If PS.SetDirect(Str_PrinterName, Not Bln_Direct, True) Then Call MsgBox("「プリンタに直接印刷データを送る。」に変更しました。") Else Call MsgBox("スプールの設定変更に失敗しました。") End If End If Else Call MsgBox("スプールの設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsENABLE_DEVQ
構文:Public Function IsENABLE_DEVQ( PrinterName , ENABLE_DEVQ ) As Boolean
機能:「一致しないドキュメントを保留する」を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。ENABLE_DEVQ Boolean 参照渡し(ByRef) 一致しないドキュメントの保留有無を返します。
True :一致しないドキュメントを保留する。
False:一致しないドキュメントを保留しない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 一致しないドキュメントを保留するの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 一致しないドキュメントを保留する。 Dim Bln_ENABLE_DEVQ As Boolean = False If PS.IsENABLE_DEVQ(Str_PrinterName, Bln_ENABLE_DEVQ) Then If Not Bln_ENABLE_DEVQ Then If PS.SetENABLE_DEVQ(Str_PrinterName, Not Bln_ENABLE_DEVQ) Then Call MsgBox("「一致しないドキュメントを保留する。」に設定しました。") Else Call MsgBox("「一致しないドキュメントを保留する。」の設定に失敗しました。") End If End If Else Call MsgBox("「一致しないドキュメントを保留する。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetENABLE_DEVQ
構文:Public Function SetENABLE_DEVQ( PrinterName , ENABLE_DEVQ ) As Boolean
機能:「一致しないドキュメントを保留する」を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。ENABLE_DEVQ Boolean 値渡し(ByVal) 一致しないドキュメントの保留有無を渡します。
True :一致しないドキュメントを保留する。
False:一致しないドキュメントを保留しない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 一致しないドキュメントを保留するの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 一致しないドキュメントを保留する。 Dim Bln_ENABLE_DEVQ As Boolean = False If PS.IsENABLE_DEVQ(Str_PrinterName, Bln_ENABLE_DEVQ) Then If Not Bln_ENABLE_DEVQ Then If PS.SetENABLE_DEVQ(Str_PrinterName, Not Bln_ENABLE_DEVQ) Then Call MsgBox("「一致しないドキュメントを保留する。」に設定しました。") Else Call MsgBox("「一致しないドキュメントを保留する。」の設定に失敗しました。") End If End If Else Call MsgBox("「一致しないドキュメントを保留する。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsDO_COMPLETE_FIRST
構文:Public Function IsDO_COMPLETE_FIRST( PrinterName , DO_COMPLETE_FIRST ) As Boolean
機能:「スプールされたドキュメントを最初に印刷する」を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。DO_COMPLETE_FIRST Boolean 参照渡し(ByRef) スプールされたドキュメントを最初に印刷するの設定を返します。
True :スプールされたドキュメントを最初に印刷する。
False:スプールされたドキュメントを最初に印刷するが有効でない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールされたドキュメントを最初に印刷するの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' スプールされたドキュメントを最初に印刷する。 Dim Bln_DO_COMPLETE_FIRST As Boolean = False If PS.IsDO_COMPLETE_FIRST(Str_PrinterName, Bln_DO_COMPLETE_FIRST) Then If Not Bln_DO_COMPLETE_FIRST Then If PS.SetDO_COMPLETE_FIRST(Str_PrinterName, Not Bln_DO_COMPLETE_FIRST) Then Call MsgBox("スプールされたドキュメントを最初に印刷する。」に設定しました。") Else Call MsgBox("スプールされたドキュメントを最初に印刷する。」の設定に失敗しました。") End If End If Else Call MsgBox("スプールされたドキュメントを最初に印刷する。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetDO_COMPLETE_FIRST
構文:Public Function SetDO_COMPLETE_FIRST( PrinterName , DO_COMPLETE_FIRST ) As Boolean
機能:「スプールされたドキュメントを最初に印刷する」を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。DO_COMPLETE_FIRST Boolean 値渡し(ByVal) スプールされたドキュメントを最初に印刷するの設定を渡します。
True :スプールされたドキュメントを最初に印刷する。
False:スプールされたドキュメントを最初に印刷するが有効でない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' スプールされたドキュメントを最初に印刷するの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' スプールされたドキュメントを最初に印刷する。 Dim Bln_DO_COMPLETE_FIRST As Boolean If PS.IsDO_COMPLETE_FIRST(Str_PrinterName, Bln_DO_COMPLETE_FIRST) Then If Not Bln_DO_COMPLETE_FIRST Then If PS.SetDO_COMPLETE_FIRST(Str_PrinterName, Not Bln_DO_COMPLETE_FIRST) Then Call MsgBox("スプールされたドキュメントを最初に印刷する。」に設定しました。") Else Call MsgBox("スプールされたドキュメントを最初に印刷する。」の設定に失敗しました。") End If End If Else Call MsgBox("スプールされたドキュメントを最初に印刷する。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsKEEPPRINTEDJOBS
構文:Public Function IsKEEPPRINTEDJOBS( PrinterName , KEEPPRINTEDJOBS ) As Boolean
機能:「印刷後ドキュメントを残す」を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。KEEPPRINTEDJOBS Boolean 参照渡し(ByRef) 印刷後ドキュメントを残す設定を返します。
True :印刷後ドキュメントを残す。
False:印刷後ドキュメントを残さない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷後ドキュメントを残すの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 印刷後ドキュメントを残す。 Dim Bln_KEEPPRINTEDJOBS As Boolean = False If PS.IsKEEPPRINTEDJOBS(Str_PrinterName, Bln_KEEPPRINTEDJOBS) Then If Bln_KEEPPRINTEDJOBS Then If PS.SetKEEPPRINTEDJOBS(Str_PrinterName, Not Bln_KEEPPRINTEDJOBS) Then Call MsgBox("印刷後ドキュメントは残さない。」を設定しました。") Else Call MsgBox("印刷後ドキュメントを残す。」の設定に失敗しました。") End If End If Else Call MsgBox("印刷後ドキュメントを残す。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetKEEPPRINTEDJOBS
構文:Public Function SetKEEPPRINTEDJOBS( PrinterName , KEEPPRINTEDJOBS ) As Boolean
機能:「印刷後ドキュメントを残す」を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。KEEPPRINTEDJOBS Boolean 値渡し(ByVal) 印刷後ドキュメントを残す設定を渡します。
True :印刷後ドキュメントを残す。
False:印刷後ドキュメントを残さない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷後ドキュメントを残すの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 印刷後ドキュメントを残す。 Dim Bln_KEEPPRINTEDJOBS As Boolean = False If PS.IsKEEPPRINTEDJOBS(Str_PrinterName, Bln_KEEPPRINTEDJOBS) Then If Bln_KEEPPRINTEDJOBS Then If PS.SetKEEPPRINTEDJOBS(Str_PrinterName, Not Bln_KEEPPRINTEDJOBS) Then Call MsgBox("印刷後ドキュメントは残さない。」を設定しました。") Else Call MsgBox("印刷後ドキュメントを残す。」の設定に失敗しました。") End If End If Else Call MsgBox("印刷後ドキュメントを残す。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsRAW_ONLY
構文:Public Function IsRAW_ONLY( PrinterName , RAW_ONLY ) As Boolean
機能:「詳細な印刷機能を有効にする(OFFの場合)」を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。RAW_ONLY Boolean 参照渡し(ByRef) 詳細な印刷機能の設定を返します。
True :詳細な印刷機能を有効にしない。
False:詳細な印刷機能を有効にする。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 詳細な印刷機能を有効にするの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 詳細な印刷機能を有効にする。 Dim Bln_RAW_ONLY As Boolean = False If PS.IsRAW_ONLY(Str_PrinterName, Bln_RAW_ONLY) Then If Bln_RAW_ONLY Then If PS.SetRAW_ONLY(Str_PrinterName, Not Bln_RAW_ONLY) Then Call MsgBox("詳細な印刷機能を有効にする。」を設定しました。") Else Call MsgBox("詳細な印刷機能を有効にする。」の設定に失敗しました。") End If End If Else Call MsgBox("詳細な印刷機能を有効にする。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetRAW_ONLY
構文:Public Function SetRAW_ONLY( PrinterName , RAW_ONLY ) As Boolean
機能:「詳細な印刷機能を有効にする(OFFの場合)」を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。RAW_ONLY Boolean 値渡し(ByVal) 詳細な印刷機能の設定渡します。
True :詳細な印刷機能を有効にしない。
False:詳細な印刷機能を有効にする。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 詳細な印刷機能を有効にするの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 詳細な印刷機能を有効にする。 Dim Bln_RAW_ONLY As Boolean = False If PS.IsRAW_ONLY(Str_PrinterName, Bln_RAW_ONLY) Then If Bln_RAW_ONLY Then If PS.SetRAW_ONLY(Str_PrinterName, Not Bln_RAW_ONLY) Then Call MsgBox("詳細な印刷機能を有効にする。」を設定しました。") Else Call MsgBox("詳細な印刷機能を有効にする。」の設定に失敗しました。") End If End If Else Call MsgBox("詳細な印刷機能を有効にする。」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsENABLE_BIDI
構文:Public Function IsENABLE_BIDI( PrinterName , ENABLE_BIDI ) As Boolean
機能:「プリンタが双方向通信状態」かを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。ENABLE_BIDI Boolean 参照渡し(ByRef) 双方向通信状態を返します。
True :双方向通信状態。
False:双方向通信状態でない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 双方向通信の設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 双方向通信。 Dim Bln_BIDI As Boolean If PS.IsENABLE_BIDI(Str_PrinterName, Bln_BIDI) Then If Not Bln_BIDI Then If PS.SetENABLE_BIDI(Str_PrinterName, Not Bln_BIDI) Then Call MsgBox("「双方向通信」を設定しました。") Else Call MsgBox("「双方向通信」の設定に失敗しました。") End If End If Else Call MsgBox("「双方向通信」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetENABLE_BIDI
構文:Public Function SetENABLE_BIDI( PrinterName , ENABLE_BIDI ) As Boolean
機能:「プリンタが双方向通信」かをセットします。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。ENABLE_BIDI Boolean 値渡し(ByVal) 双方向通信状態を渡します。
True :双方向通信状態。
False:双方向通信状態でない。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 双方向通信の設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 双方向通信。 Dim Bln_BIDI As Boolean = False If PS.IsENABLE_BIDI(Str_PrinterName, Bln_BIDI) Then If Not Bln_BIDI Then If PS.SetENABLE_BIDI(Str_PrinterName, Not Bln_BIDI) Then Call MsgBox("「双方向通信」を設定しました。") Else Call MsgBox("「双方向通信」の設定に失敗しました。") End If End If Else Call MsgBox("「双方向通信」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsOnLine
構文:Public Function IsOnLine( PrinterName , OnLine ) As Boolean
機能:プリンタがオンライン状態かオフライン状態かを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。OnLine Boolean 参照渡し(ByRef) オンライン状態を返します。
True :オンライン状態。
False:オフライン状態。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' オンライン状態の設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' オンライン状態。 Dim Bln_OnLine As Boolean = False If PS.IsOnLine(Str_PrinterName, Bln_OnLine) Then If Not Bln_OnLine Then If PS.SetOnLine(Str_PrinterName, Not Bln_OnLine) Then Call MsgBox("「オンライン状態」に設定しました。") Else Call MsgBox("「オンライン状態」の設定に失敗しました。") End If End If Else Call MsgBox("「オンライン状態」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetOnLine
構文:Public Function SetOnLine( PrinterName , OnLine ) As Boolean
機能:プリンタがオンライン状態かオフライン状態かをセットします。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。OnLine Boolean 値渡し(ByVal) オンライン状態を渡します。
True :オンライン状態。
False:オフライン状態。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' オンライン状態の設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' オンライン状態。 Dim Bln_OnLine As Boolean = False If PS.IsOnLine(Str_PrinterName, Bln_OnLine) Then If Not Bln_OnLine Then If PS.SetOnLine(Str_PrinterName, Not Bln_OnLine) Then Call MsgBox("「オンライン状態」に設定しました。") Else Call MsgBox("「オンライン状態」の設定に失敗しました。") End If End If Else Call MsgBox("「オンライン状態」の設定が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetPortList
構文:Public Function GetPortList( PortList ) As Boolean
機能:出力ポートのリストを取得します。
引数:
名前 型 引数渡しの方法 説明 PortList PORT_LIST 参照渡し(ByRef) 出力ポートのリストを返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 出力ポートのリストを取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 出力ポート名のリストを取得します。 Dim Strc_PortList As NSDPrinterSetting.PORT_LIST = Nothing With Me.ComboBox1 .Items.Clear If PS.GetPortList(Strc_PortList) Then For Int_Loop As Integer = 0 To Strc_PortList.Int_Count - 1 ' 出力ポート名をセットします。 .Items.Add(Strc_PortList.Str_PortName(Int_Loop)) Next Int_Loop End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:ChangeOutPort
構文:Public Function ChangeOutPort( PrinterName , PortName ) As Boolean
機能:出力ポートを変更します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PortName String 値渡し(ByVal) 変更する出力ポート名を渡します。
※出力ポート名はGetPortListで渡された出力ポート名を渡します。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 出力ポートの設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 出力ポートの変更。 If Not PS.ChangeOutPort(Str_PrinterName, "LPT1:") Then MsgBox("出力ポートを変更に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetOutPort
構文:Public Function GetOutPort( PrinterName ) As String
機能:出力ポート名を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。戻り値:String
戻り値の説明:
出力ポート名を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 出力ポートを表示します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 出力ポートを取得します。 Dim Str_PortName As String = PS.GetOutPort(Str_PrinterName) MsgBox("出力ポートは「" & Str_PortName & "」です。") Catch ex As Exception Finally End Try End Sub End Class
名前:JobCount
構文:Public Function JobCount( PrinterName , Count ) As Boolean
機能:印刷ジョブの件数を返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。Count Integer 参照渡し(ByRef) 印刷ジョブの件数を返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷ジョブ件数の取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Int_Count As Integer = 0 If PS.JobCount(Str_PrinterName, Int_Count) Then MsgBox("印刷ジョブ数:" & Convert.ToString(Int_Count)) Else MsgBox("印刷ジョブ数の取得に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:JobInfo
構文:Public Function JobInfo( PrinterName , JobList , [Level] , [TimeGMT] ) As Boolean
機能:印刷ジョブ情報を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。JobList JOB_LIST 参照渡し(ByRef) ジョブ情報を返します。 [Level] Integer 値渡し(ByVal) 取得するレベル(1 or 2)を設定します。(既定値:1) [TimeGMT] Boolean 値渡し(ByVal) 時刻をグリニッジ標準時間で返すかを設定します。(既定値:グリニッジ標準時間)
True :グリニッジ標準時間で返します。
False:ローカル時間で返します。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷ジョブ情報の取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Strc_JobList As NSDPrinterSetting.JOB_LIST = Nothing Dim ItemJob As ListViewItem = Nothing Dim Str_PrinterName As String = "Printer_A" PS.JobInfo(Str_PrinterName, Strc_JobList, 2) Me.ListView1.Items.Clear With Strc_JobList For Int_Loop As Integer = 0 To .Int_Count - 1 ' ドキュメント名をセット。 ItemJob = Me.ListView1.Items.Add(Strc_JobList.Str_JobName(Int_Loop)) ' 状態をセット。 ItemJob.SubItems.Add(Strc_JobList.Str_Status(Int_Loop)) ' ユーザー名。 ItemJob.SubItems.Add(Strc_JobList.Str_UserName(Int_Loop)) ' ページ数。 ItemJob.SubItems.Add(Convert.ToString(Strc_JobList.Int_TotalPages(Int_Loop))) ' サイズ。 ItemJob.SubItems.Add(Convert.ToString(Strc_JobList.Int_Size(Int_Loop))) ' 受付時間(ローカル時間で表示)。 ItemJob.SubItems.Add(Strc_JobList.Date_SpoolDay(Int_Loop).ToLocalTime.ToLongDateString & _ " " & Strc_JobList.Date_SpoolDay(Int_Loop).ToLocalTime.ToLongTimeString) Next Int_Loop End With Catch ex As Exception Finally End Try End Sub End Class
名前:JobInfo1
構文:Public Function JobInfo1( PrinterName , [Err] , [TimeGMT] ) As JOB_List1()
機能:印刷ジョブ情報1を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。[Err] Boolean 参照渡し(ByRef) 成功の有無を返します。 [TimeGMT] Boolean 値渡し(ByVal) 時刻をグリニッジ標準時間で返すかを設定します。(既定値:グリニッジ標準時間)
True :グリニッジ標準時間で返します。
False:ローカル時間で返します。戻り値:JOB_List1()
戻り値の説明:
JOB_List1の配列を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷ジョブ情報の取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim ItemJob As ListViewItem = Nothing Dim Bln_Err As Boolean = False Dim Str_PrinterName As String = "Printer_A" Dim Strc_JOB_LIST1() As NSDPrinterSetting.JOB_List1 = PS.JobInfo1(Str_PrinterName, Bln_Err) Me.ListView1.Items.Clear If Not (Strc_JOB_LIST1 Is Nothing) Then For Int_Loop As Integer = 0 To Strc_JOB_LIST1.Length - 1 With Strc_JOB_LIST1(Int_Loop) ' ドキュメント名をセット。 ItemJob = Me.ListView1.Items.Add(.pDocument) ' 状態をセット。 ItemJob.SubItems.Add(.pStatus) ' ユーザー名。 ItemJob.SubItems.Add(.pUserName) ' ページ数。 ItemJob.SubItems.Add(Convert.ToString(.TotalPages)) ' 受付時間(ローカル時間で表示)。 ItemJob.SubItems.Add(.Submitted.ToLocalTime.ToLongDateString & _ " " & .Submitted.ToLocalTime.ToLongTimeString) End With Next Int_Loop End If Catch ex As Exception Finally End Try End Sub End Class
名前:JobInfo2
構文:Public Function JobInfo2( PrinterName , [Err] , [TimeGMT] ) As JOB_List2()
機能:印刷ジョブ情報2を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。[Err] Boolean 参照渡し(ByRef) 成功の有無を返します。 [TimeGMT] Boolean 値渡し(ByVal) 時刻をグリニッジ標準時間で返すかを設定します。(既定値:グリニッジ標準時間)
True :グリニッジ標準時間で返します。
False:ローカル時間で返します。戻り値:JOB_List2()
戻り値の説明:
JOB_List2の配列を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷ジョブ情報の取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim ItemJob As ListViewItem = Nothing Dim Bln_Err As Boolean = False Dim Strc_JOB_LIST2() As NSDPrinterSetting.JOB_List2 = PS.JobInfo2(Str_PrinterName, Bln_Err) Me.ListView1.Items.Clear If Not (Strc_JOB_LIST2 Is Nothing) Then For Int_Loop As Integer = 0 To Strc_JOB_LIST2.Length - 1 With Strc_JOB_LIST2(Int_Loop) ' ドキュメント名をセット。 ItemJob = Me.ListView1.Items.Add(.pDocument) ' 状態をセット。 ItemJob.SubItems.Add(.pStatus) ' ユーザー名。 ItemJob.SubItems.Add(.pUserName) ' ページ数。 ItemJob.SubItems.Add(Convert.ToString(.TotalPages)) ' サイズ。 ItemJob.SubItems.Add(Convert.ToString(.Size)) ' 受付時間(ローカル時間で表示)。 ItemJob.SubItems.Add(.Submitted.ToLocalTime.ToLongDateString & _ " " & .Submitted.ToLocalTime.ToLongTimeString) End With Next Int_Loop End If Catch ex As Exception Finally End Try End Sub End Class
名前:DeleteJob
構文:Public Function DeleteJob( PrinterName , DeleteJobID , [SleepTime] , [StatusChange] ) As Boolean
機能:印刷ジョブを削除します。
※印刷ジョブの状態またはドライバの設定によっては削除に失敗することがあります。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。DeleteJobID Int32 値渡し(ByVal) 削除する印刷ジョブのIDを設定します。
※-1の場合は、全ての印刷ジョブを削除します。[SleepTime] Int32 値渡し(ByVal) 削除処理後の削除確認を行うための待ち時間をms(ミリ秒)で設定します。(既定値:1000)
既定値は1000ms(1秒)で、0以下の値を設定すると既定値の1000msで処理されます。[StatusChange] Boolean 値渡し(ByVal) 状態を変更して削除を行うかを設定します。(既定値:True)
True :全ての印刷ジョブを削除するときに、エラーが発生し一時停止状態でない場合は、一時停止状態に変更してから削除を行います。
False:状態の変更は行いません。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
※印刷ジョブの状態またはドライバの設定によっては削除している場合でもFalseで返る場合があります。使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 印刷ジョブの削除。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" If Not PS.DeleteJob(Str_PrinterName, -1) Then MsgBox("印刷ジョブの削除に失敗しました。") Else MsgBox("印刷ジョブを削除しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetFormsList
構文:Public Function GetFormsList( PrinterName , FORM_INFO_1() , [GetFormKind] ) As Boolean
機能:サポートされている用紙のリストを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。FORM_INFO_1() FORM_INFO_1 参照渡し(ByRef) 用紙情報を返します。 [GetFormKind] FORM 値渡し(ByVal) 取得する用紙の特性を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙リストの表示。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Strc_FormList() As NSDPrinterSetting.FORM_INFO_1 = Nothing ' ローカルのプリントサーバーの用紙リストを取得します。 If Not PS.GetFormsList(Nothing, Strc_FormList, _ NSDPrinterSetting.FORM.FORM_ALL) Then MsgBox("用紙リストが取得できません。") Else If Not (Strc_FormList Is Nothing) Then With Me.ListBox1 ' リストボックスをクリアします。 .Items.Clear For Int_Loop As Integer = 0 To Strc_FormList.Length - 1 ' 用紙をセットします。 .Items.Add(Strc_FormList(Int_Loop).pName) Next Int_Loop End With End If End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetPaperName
構文:Public Function GetPaperName( PrinterName , PaperName() , PaperSize() ) As Boolean
機能:サポートされている用紙の名前(レター、リーガルなど)のリストを取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PaperName() String 参照渡し(ByRef) 用紙名を返します。 PaperSize() Integer 参照渡し(ByRef) 用紙サイズを返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 出力可能な用紙を取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 出力可能な用紙。 Dim Str_PaperName() As String = Nothing Dim Int_PaperSize() As Integer = Nothing If PS.GetPaperName(Str_PrinterName, Str_PaperName, Int_PaperSize) Then If Not (Str_PaperName Is Nothing) Then With Me.ComboBox1 .Items.Clear For Int_Loop As Integer = 0 To Str_PaperName.Length - 1 ' 用紙名をセット。 .Items.Add(Str_PaperName(Int_Loop)) Next Int_Loop End With End If End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetMediaRady
構文:Public Function GetMediaRady( PrinterName , PaperName() ) As Boolean
機能:現在利用できる用紙の名前を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PaperName() String 参照渡し(ByRef) 用紙名を返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 利用可能な用紙の設定。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 利用可能な用紙。 Dim Str_PaperName() As String = Nothing If PS.GetMediaRady(Str_PrinterName, Str_PaperName) Then If Not (Str_PaperName Is Nothing) Then With Me.ComboBox2 .Items.Clear For Int_Loop As Integer = 0 To Str_PaperName.Length - 1 ' 用紙名をセット。 .Items.Add(Str_PaperName(Int_Loop)) Next Int_Loop End With End If End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetPaperSize
構文:Public Function GetPaperSize( PrinterName , PaperSize , PaperSizeName ) As Boolean
機能:現在選択している用紙サイズを返します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PaperSize Integer 参照渡し(ByRef) 用紙サイズを返します。 PaperSizeName String 参照渡し(ByRef) 用紙名を返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 現在選択している用紙を取得。 Dim Int_PaperSize As Integer = 0 Dim Str_PaperName As String = Nothing If PS.GetPaperSize(Str_PrinterName, Int_PaperSize, Str_PaperName) Then MsgBox("選択している用紙:" & Str_PaperName) Else MsgBox("選択している用紙が取得できません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetPaperSize
機能:現在選択している用紙サイズを設定します。
構文:Public Function SetPaperSize( PrinterName , PaperSize ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PaperSize Integer 値渡し(ByVal) 用紙サイズを渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 選択している用紙を変更します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" If Not PS.SetPaperSize(Str_PrinterName, 9) Then MsgBox("選択している用紙をA4にしました。") Else MsgBox("選択している用紙の変更に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function SetPaperSize( PrinterName , PaperSizeName ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PaperSizeName String 値渡し(ByVal) 用紙名を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 選択している用紙を変更します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" If Not PS.SetPaperSize(Str_PrinterName, "A4") Then MsgBox("選択している用紙をA4にしました。") Else MsgBox("選択している用紙の変更に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetFormSizeValue
構文:Public Function GetFormSizeValue( Metre , Value ) As Single
機能:用紙サイズ、印刷可能領域をメートル法またはヤードポンド法に変換します。
引数:
名前 型 引数渡しの方法 説明 Metre Boolean 値渡し(ByVal) メートル法かヤードポンド法かを渡します。
True :メートル法で返します。
False:ヤードポンド法で返します。Value Int32 値渡し(ByVal) FORM_INFO_1のSizeまたはImageableAreaの値を渡します。 戻り値:Single
戻り値の説明:
メートル法またはヤードポンド法に変換した値を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' A4用紙の情報を取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "A4" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing ' 用紙の情報を取得します。 If PS.GetForm(Str_PrinterName, Str_Name, Strc_FORM_INFO_1) Then With Strc_FORM_INFO_1 ' サイズをセット。 Me.TextBox1.Text = PS.GetFormSizeValue(True, .Size.cx) Me.TextBox2.Text = PS.GetFormSizeValue(True, .Size.cy) ' 余白をセット。 PS.ConvertImageableAreaIntoMargin(.ImageableArea, .Size) Me.TextBox3.Text = PS.GetFormSizeValue(True, .ImageableArea.Left) Me.TextBox4.Text = PS.GetFormSizeValue(True, .ImageableArea.Top) Me.TextBox5.Text = PS.GetFormSizeValue(True, .ImageableArea.Right) Me.TextBox6.Text = PS.GetFormSizeValue(True, .ImageableArea.Bottom) End With End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetFormSizeValue
機能:メートル法またはヤードポンド法の値を用紙サイズ、印刷可能領域用に変換します。
構文:Public Function SetFormSizeValue( Metre , Value ) As Int32
引数:
名前 型 引数渡しの方法 説明 Metre Boolean 値渡し(ByVal) メートル法かヤードポンド法かを渡します。
True :メートル法で渡します。
False:ヤードポンド法で渡します。Value Single 値渡し(ByVal) メートル法またはヤードポンド法の値を渡します。 戻り値:Int32
戻り値の説明:
FORM_INFO_1のSizeまたはImageableAreaの値を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の追加。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing With Strc_FORM_INFO_1 ' 名前。 .pName = Str_Name ' 特性。 .Flags = 0 ' サイズ。 .Size.cx = PS.SetFormSizeValue(True, 21) .Size.cy = PS.SetFormSizeValue(True, 29.7) ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "1") .ImageableArea.Top = PS.SetFormSizeValue(True, "1") .ImageableArea.Right = PS.SetFormSizeValue(True, "1") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "1") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If Not PS.IsOkImageableArea(.Size, .ImageableArea) Then MsgBox("印刷可能領域が異常です。") Else ' 追加します。 If PS.AddForm(Str_PrinterName, .pName, _ .Size , .ImageableArea) Then MsgBox("用紙を追加しました。") Else MsgBox("用紙の追加に失敗しました。") End If End If End With Catch ex As Exception Finally End Try End Sub End Class
Aメートル法またはヤードポンド法の値を文字列型の数値で渡します。
構文:Public Function SetFormSizeValue( Metre , Value ) As Int32
引数:
名前 型 引数渡しの方法 説明 Metre Boolean 値渡し(ByVal) メートル法かヤードポンド法かを渡します。
True :メートル法で渡します。
False:ヤードポンド法で渡します。Value String 値渡し(ByVal) メートル法またはヤードポンド法の値を渡します。 戻り値:Int32
戻り値の説明:
FORM_INFO_1のSizeまたはImageableAreaの値を返します。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の追加。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing With Strc_FORM_INFO_1 ' 名前。 .pName = Str_Name ' 特性。 .Flags = 0 ' サイズ。 .Size.cx = PS.SetFormSizeValue(True, 21) .Size.cy = PS.SetFormSizeValue(True, 29.7) ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "1") .ImageableArea.Top = PS.SetFormSizeValue(True, "1") .ImageableArea.Right = PS.SetFormSizeValue(True, "1") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "1") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If Not PS.IsOkImageableArea(.Size, .ImageableArea) Then MsgBox("印刷可能領域が異常です。") Else ' 追加します。 If PS.AddForm(Str_PrinterName, _ .pName, .Size , .ImageableArea) Then MsgBox("用紙を追加しました。") Else MsgBox("用紙の追加に失敗しました。") End If End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:ConvertMarginIntoImageableArea
構文:Public Sub ConvertMarginIntoImageableArea( ImageableArea , Size )
機能:余白を印刷可能領域に変換します。
引数:
名前 型 引数渡しの方法 説明 ImageableArea RECTL 参照渡し(ByRef) 余白を渡し、印刷可能領域を返します。 Size SIZEL 値渡し(ByVal) 用紙サイズを渡します。 戻り値:なし。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の追加。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing With Strc_FORM_INFO_1 ' 名前。 .pName = Str_Name ' 特性。 .Flags = 0 ' サイズ。 .Size.cx = PS.SetFormSizeValue(True, 21) .Size.cy = PS.SetFormSizeValue(True, 29.7) ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "1") .ImageableArea.Top = PS.SetFormSizeValue(True, "1") .ImageableArea.Right = PS.SetFormSizeValue(True, "1") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "1") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If Not PS.IsOkImageableArea(.Size, .ImageableArea) Then MsgBox("印刷可能領域が異常です。") Else ' 追加します。 If PS.AddForm(Str_PrinterName, _ .pName, .Size , .ImageableArea) Then MsgBox("用紙を追加しました。") Else MsgBox("用紙の追加に失敗しました。") End If End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:ConvertImageableAreaIntoMargin
構文:Public Sub ConvertImageableAreaIntoMargin( ImageableArea , Size )
機能:印刷可能領域を余白を変換します。
引数:
名前 型 引数渡しの方法 説明 ImageableArea RECTL 参照渡し(ByRef) 印刷可能領域を渡し、余白を返します。 Size SIZEL 値渡し(ByVal) 用紙サイズを渡します。 戻り値:なし。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' A4用紙の情報を取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "A4" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing ' 用紙の情報を取得します。 If PS.GetForm(Str_PrinterName, Str_Name, Strc_FORM_INFO_1) Then With Strc_FORM_INFO_1 ' サイズをセット。 Me.TextBox1.Text = PS.GetFormSizeValue(True, .Size.cx) Me.TextBox2.Text = PS.GetFormSizeValue(True, .Size.cy) ' 余白をセット。 PS.ConvertImageableAreaIntoMargin(.ImageableArea, .Size) Me.TextBox3.Text = PS.GetFormSizeValue(True, .ImageableArea.Left) Me.TextBox4.Text = PS.GetFormSizeValue(True, .ImageableArea.Top) Me.TextBox5.Text = PS.GetFormSizeValue(True, .ImageableArea.Right) Me.TextBox6.Text = PS.GetFormSizeValue(True, .ImageableArea.Bottom) End With End If Catch ex As Exception Finally End Try End Sub End Class
名前:IsOkImageableArea
構文:Public Function IsOkImageableArea( Size , ImageableArea ) As Boolean
機能:印刷可能領域が正常に設定されているかを確認します。
引数:
名前 型 引数渡しの方法 説明 Size SIZEL 値渡し(ByVal) 用紙サイズを渡します。 ImageableArea RECTL 値渡し(ByVal) 印刷可能領域を渡します。 戻り値:Boolean
戻り値の説明:
True:正常に設定されている。 False:異常な値が設定されている。
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の追加。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing With Strc_FORM_INFO_1 ' 名前。 .pName = Str_Name ' 特性。 .Flags = 0 ' サイズ。 .Size.cx = PS.SetFormSizeValue(True, 21) .Size.cy = PS.SetFormSizeValue(True, 29.7) ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "1") .ImageableArea.Top = PS.SetFormSizeValue(True, "1") .ImageableArea.Right = PS.SetFormSizeValue(True, "1") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "1") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If Not PS.IsOkImageableArea(.Size, .ImageableArea) Then MsgBox("印刷可能領域が異常です。") Else ' 追加します。 If PS.AddForm(Str_PrinterName, _ .pName, .Size , .ImageableArea) Then MsgBox("用紙を追加しました。") Else MsgBox("用紙の追加に失敗しました。") End If End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:GetForm
構文:Public Function GetForm( PrinterName , FormName , Form_Info_1 ) As Boolean
機能:用紙の情報を取得します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。FormName String 値渡し(ByVal) 用紙名を渡します。
※用紙名の一覧はGetFormListで取得できます。Form_Info_1 FORM_INFO_1 参照渡し(ByRef) 用紙の情報を返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の余白を変更します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing If PS.GetForm(Str_PrinterName, Str_Name, Strc_FORM_INFO_1) Then With Strc_FORM_INFO_1 ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "0") .ImageableArea.Top = PS.SetFormSizeValue(True, "0") .ImageableArea.Right = PS.SetFormSizeValue(True, "0") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "0") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If PS.SetForm(Str_PrinterName, Strc_FORM_INFO_1) Then MsgBox("用紙を変更しました。") Else MsgBox("用紙の変更に失敗しました。") End If End With Else MsgBox("用紙が見つかりません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:SetForm
構文:Public Function SetForm( PrinterName , Form_Info_1 ) As Boolean
機能:用紙を設定します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。Form_Info_1 FORM_INFO_1 値渡し(ByVal) 用紙の情報を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の余白を変更します。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing If PS.GetForm(Str_PrinterName, Str_Name, Strc_FORM_INFO_1) Then With Strc_FORM_INFO_1 ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "0") .ImageableArea.Top = PS.SetFormSizeValue(True, "0") .ImageableArea.Right = PS.SetFormSizeValue(True, "0") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "0") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If PS.SetForm(Str_PrinterName, Strc_FORM_INFO_1) Then MsgBox("用紙を変更しました。") Else MsgBox("用紙の変更に失敗しました。") End If End With Else MsgBox("用紙が見つかりません。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:AddForm
構文:Public Function AddForm( PrinterName , FormName , Size , ImageableArea ) As Boolean
機能:出力可能な用紙を追加します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。FormName String 値渡し(ByVal) 用紙名を渡します。
※用紙名の一覧はGetFormListで取得できます。Size SIZEL 値渡し(ByVal) 用紙のサイズを渡します。 ImageableArea RECTL 値渡し(ByVal) 用紙の印刷可能領域を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の追加。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" Dim Str_Name As String = "専用用紙A" ' 用紙名。 Dim Strc_FORM_INFO_1 As NSDPrinterSetting.FORM_INFO_1 = Nothing With Strc_FORM_INFO_1 ' 名前。 .pName = Str_Name ' 特性。 .Flags = 0 ' サイズ。 .Size.cx = PS.SetFormSizeValue(True, 21) .Size.cy = PS.SetFormSizeValue(True, 29.7) ' 余白をセット。 .ImageableArea.Left = PS.SetFormSizeValue(True, "1") .ImageableArea.Top = PS.SetFormSizeValue(True, "1") .ImageableArea.Right = PS.SetFormSizeValue(True, "1") .ImageableArea.Bottom = PS.SetFormSizeValue(True, "1") ' 余白を印刷可能領域に変換します。 PS.ConvertMarginIntoImageableArea(.ImageableArea, .Size) If Not PS.IsOkImageableArea(.Size, .ImageableArea) Then MsgBox("印刷可能領域が異常です。") Else ' 追加します。 If PS.AddForm(Str_PrinterName, _ .pName, .Size , .ImageableArea) Then MsgBox("用紙を追加しました。") Else MsgBox("用紙の追加に失敗しました。") End If End If End With Catch ex As Exception Finally End Try End Sub End Class
名前:DeleteForm
構文:Public Function DeleteForm( PrinterName , FormName ) As Boolean
機能:プリンターから用紙を削除します。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。FormName String 値渡し(ByVal) 用紙名を渡します。
※用紙名の一覧はGetFormListで取得できます。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 用紙の削除。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_Name As String = "専用用紙A" ' 用紙名。 If PS.DeleteForm(Nothing, Str_Name) Then MsgBox("削除しました。") Else MsgBox("削除に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetPrinterData
構文:Public Function GetPrinterData( PrinterName , PrintData() ) As Boolean
機能:プリンターの構成データを取得します。
※レジストリを参照しています。
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。PrintData() NSDPrintData 参照渡し(ByRef) プリンターの構成データを戻します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' 構成データの取得。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' 構成データの取得。 Me.ListBox1.Items.Clear() Dim Cls_PrintData() As NSDPrinterSetting.NSDPrintData = Nothing If PS.GetPrinterData(StrCls_PrinterName, Cls_PrintData) Then With Me.ListBox1 For Int_Loop As Integer = 0 To Cls_PrintData.Length - 1 Dim Str_Data As String = Nothing Str_Data &= Cls_PrintData(Int_Loop).DataName & " :" Select Case Cls_PrintData(Int_Loop).DataType Case NSDPrinterSetting.NSDRegType.REG_DWORD Str_Data &= " " & Cls_PrintData(Int_Loop).DataValue.ToString() Case NSDPrinterSetting.NSDRegType.REG_SZ Str_Data &= " " & Cls_PrintData(Int_Loop).DataValue Case NSDPrinterSetting.NSDRegType.REG_MULTI_SZ Dim Str_OneData As String = Nothing For Int_Loop2 As Integer = 0 To Cls_PrintData(Int_Loop).DataValue.Length - 1 If Not String.IsNullOrEmpty(Str_OneData) Then Str_OneData &= " " End If Str_OneData &= Cls_PrintData(Int_Loop).DataValue(Int_Loop2) Next Str_Data &= " " & Str_OneData Case Else Str_Data &= " Size=" & Cls_PrintData(Int_Loop).DataValue.Length.ToString() End Select .Items.Add(Str_Data) Next End With End If Catch ex As Exception Finally End Try End Sub End Class
名前:ShowPrinterProperty
機能:プリンターのプロパティを表示します。
構文:Public Function ShowPrinterProperty( PrinterName ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' プロパティの表示。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' プロパティを表示します。 PS.ShowPrinterProperty(Str_PrinterName) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function ShowPrinterProperty( PrinterName , hWnd ) As Boolean
引数:
名前 型 引数渡しの方法 説明 PrinterName String 値渡し(ByVal) プリンタ名を渡します。
※プリンタ名はGetPrinterListで渡されたプリンタ名を渡します。hWnd IntPtr 値渡し(ByVal) 親ウィンドウのハンドルを渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 Public PS As New NSDPrinterSetting ' FormClosingイベント。 Private Sub Form1_FormClosing( ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs _ ) Handles Me.FormClosing Try ' 解放処理。 PS.Dispose() PS = Nothing Catch ex As Exception Finally End Try End Sub ' プロパティの表示。 Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles Button1.Click Try Dim Str_PrinterName As String = "Printer_A" ' プロパティを表示します。 PS.ShowPrinterProperty(Str_PrinterName, Me.Handle) Catch ex As Exception Finally End Try End Sub End Class
Copyright (C) 2009-2012 Nihon System Developer Corp. All Rights Reserved.