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

 

A用紙サイズを用紙名で設定します。

構文: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

 

Aプリンターのプロパティを表示します。

構文: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.