17
VB参考資料 【電脳梁山泊 烏賊塾】 1 Printer オブジェクト Printer オブジェクトを使用すると、システムプリンタ(予め、Microsoft Windows のコントロールパネルで通 常使用するプリンタと仕て設定されて居るプリンタ)を操作する事が出来る。亦、Printers コレクションを使用 すると、システム上で使用出来る総てのプリンタに関する情報を収集する事が出来る。 Printer オブジェクトの利用 Printer オブジェクト: Printer Printer オブジェクトには、デバイスに依存せずにテキストとグラフィックスを作成する事が出来る。 Printer ブジェクトにテキストやグラフィックスを描画するには、グラフィックスメソッドを使用する。即ち、フォーム やピクチャボックスに対して使用する場合と同様に、Printer オブジェクトに対しても、PrintPSetLine PaintPictureCircle 等の各グラフィックスメソッドメソッドを使用する事が出来る。亦、 Printer オブジェクト は、総てのフォントプロパティ(Font オブジェクトのプロパティ)を持って居る。 Printer オブジェクトに、必要なテキストやグラフィックスを総て作成した後に、EndDoc メソッドを実行する と、アプリケーションが通常使用するプリンタと仕て設定されて居るプリンタに、情報が出力される。亦、アプ リケーションが終了すると、Printer オブジェクト内の出力されて居ない情報を出力する為に自動的に EndDoc メソッドが実行される。 Printer オブジェクトを使用すると、各種のプリンタに最も適した印刷品質が得られる。此れは、 Printer オブジ ェクトに描画された、デバイスに依存しないテキストとグラフィックスが、プリンタの解像度と機能に最も適合 する様に、 Windows に依り変換されるからで有る。亦、 Printer オブジェクトの NewPage メソッドを使用する と、複数ページに印刷する事も出来る。 併し、高い印刷品質が得られる反面、Printer オブジェクトを利用するには、記述するコードの量が増える。亦 Printer オブジェクトへのビットマップ展開には時間が懸るので、アプリケーションのパフォーマンスを低下さ せる原因にも成る。 色々な印刷方法があるが、何の印刷方法を使用しても、Visual Basic アプリケーションからの出力は、Printer オブジェクトに送られる。 Printer オブジェクトは、特に変更しない限り、 Windows のコントロールパネルで通 常使用するプリンタと仕て指定されて居るプリンタを表す。此の通常使用するプリンタは、 Printers コレクショ ンのメンバで有るプリンタに変更する事が出来る。 Printer オブジェクトは、特殊オブジェクトで、此のオブジェクトの新しいインスタンスをコードで作成する事 は出来ない。亦、Printers コレクション内のプリンタを、直接、追加したり、削除したりする事も出来ない。シ ステムで利用可能なプリンタの追加と削除を行うには、Windows のコントロールパネルを使用する。 印刷は、 Windows 用アプリケーションが実行する処理の中で最も複雑な物の1つで有る。目的通りに適切な印刷 が出来るか何うかは、関連する総ての処理に依り変わって来る。アプリケーションの問題、プリンタドライバの 種類、プリンタの機能の制限等の為に、適切な出力結果を得られない事も有る。印刷を行うアプリケーションの テストを、総てのプリンタとプリンタドライバの組み合わせで行う事は出来なくても、一般的に使用されて居る プリンタとプリンタドライバを使用してテストする事を推奨する。 印刷結果の種類や品質は、コードを何う記述するかに左右される。亦、プリンタドライバとプリンタも印刷結果 の品質に影響を与える。此処では、Visual Basic アプリケーションで印刷を行う方法に付いて説明する。

VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

1

■ Printerオブジェクト ■

Printerオブジェクトを使用すると、システムプリンタ(予め、Microsoft Windowsのコントロールパネルで通

常使用するプリンタと仕て設定されて居るプリンタ)を操作する事が出来る。亦、Printersコレクションを使用

すると、システム上で使用出来る総てのプリンタに関する情報を収集する事が出来る。

■ Printerオブジェクトの利用

Printerオブジェクト: Printer

Printerオブジェクトには、デバイスに依存せずにテキストとグラフィックスを作成する事が出来る。Printerオ

ブジェクトにテキストやグラフィックスを描画するには、グラフィックスメソッドを使用する。即ち、フォーム

やピクチャボックスに対して使用する場合と同様に、Printer オブジェクトに対しても、Print、PSet、Line

PaintPicture、Circle等の各グラフィックスメソッドメソッドを使用する事が出来る。亦、Printerオブジェクト

は、総てのフォントプロパティ(Fontオブジェクトのプロパティ)を持って居る。

Printer オブジェクトに、必要なテキストやグラフィックスを総て作成した後に、EndDoc メソッドを実行する

と、アプリケーションが通常使用するプリンタと仕て設定されて居るプリンタに、情報が出力される。亦、アプ

リケーションが終了すると、Printer オブジェクト内の出力されて居ない情報を出力する為に自動的に EndDoc

メソッドが実行される。

Printerオブジェクトを使用すると、各種のプリンタに最も適した印刷品質が得られる。此れは、Printerオブジ

ェクトに描画された、デバイスに依存しないテキストとグラフィックスが、プリンタの解像度と機能に最も適合

する様に、Windows に依り変換されるからで有る。亦、PrinterオブジェクトのNewPageメソッドを使用する

と、複数ページに印刷する事も出来る。

併し、高い印刷品質が得られる反面、Printer オブジェクトを利用するには、記述するコードの量が増える。亦

Printer オブジェクトへのビットマップ展開には時間が懸るので、アプリケーションのパフォーマンスを低下さ

せる原因にも成る。

色々な印刷方法があるが、何の印刷方法を使用しても、Visual Basic アプリケーションからの出力は、Printer

オブジェクトに送られる。Printerオブジェクトは、特に変更しない限り、Windowsのコントロールパネルで通

常使用するプリンタと仕て指定されて居るプリンタを表す。此の通常使用するプリンタは、Printersコレクショ

ンのメンバで有るプリンタに変更する事が出来る。

Printer オブジェクトは、特殊オブジェクトで、此のオブジェクトの新しいインスタンスをコードで作成する事

は出来ない。亦、Printersコレクション内のプリンタを、直接、追加したり、削除したりする事も出来ない。シ

ステムで利用可能なプリンタの追加と削除を行うには、Windowsのコントロールパネルを使用する。

印刷は、Windows用アプリケーションが実行する処理の中で最も複雑な物の1つで有る。目的通りに適切な印刷

が出来るか何うかは、関連する総ての処理に依り変わって来る。アプリケーションの問題、プリンタドライバの

種類、プリンタの機能の制限等の為に、適切な出力結果を得られない事も有る。印刷を行うアプリケーションの

テストを、総てのプリンタとプリンタドライバの組み合わせで行う事は出来なくても、一般的に使用されて居る

プリンタとプリンタドライバを使用してテストする事を推奨する。

印刷結果の種類や品質は、コードを何う記述するかに左右される。亦、プリンタドライバとプリンタも印刷結果

の品質に影響を与える。此処では、Visual Basicアプリケーションで印刷を行う方法に付いて説明する。

Page 2: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

2

■ Printersコレクションの利用

Printersコレクション: Printers ( index ) … indexには、0 ~ Printers.Count-1の範囲の整数を指定する。

Printers コレクションは、オペレーティングシステムで利用可能なプリンタを総て含むオブジェクトで有る。

Printersコレクションに含まれるプリンタは、『プリンタの設定』ダイアログボックスやWindowsのコントロー

ルパネルで選択する事の出来るプリンタと同じで有る。Printersコレクションのメンバで有る各プリンタは、夫々

れ重複しないインデックスを有して居り、0から始まるインデックスを指定して参照する事が出来る。

Printersコレクションは使用可能なプリンタを調べて、アプリケーションが通常使うプリンタを指定出来る様に

する。Printersコレクション内のプリンタを選択してPrinterオブジェクトに設定するには、下記の構文を使用

する。

Set Printer = Printers ( n )

例えば、使用可能なプリンタが何のプリンタドライバを使うかを特定する必要が有る場合も有る。下記のコード

は、ページの印刷方向が縦に設定されて居る最初のプリンタを使用可能なプリンタの中から捜し出し、其のプリ

ンタを通常使用するプリンタに設定する。

Dim X As Printer

For Each X In Printers

If X.Orientation = vbPRORPortrait Then

' プリンタをシステムの通常使用するプリンタに設定

Set Printer = X

' プリンタの検索を中止

Exit For

End If

Next

Printers コレクション内の孰れかのプリンタを通常使用するプリンタと仕て指定するには、Set ステートメント

を使用する。上記の例では、オブジェクト変数Xに依り指定されるプリンタをアプリケーションが通常使用する

プリンタと仕て指定して居る。

亦、下記のコードは、オペレーティングシステムで利用可能な総てのプリンタの名前をイミディエイトウィンド

ウに表示する。

Private Sub Command1_Click( )

Dim x As Printer

For Each x In Printers

Debug.Print x.DeviceName

Next

End Sub

メモ:Printers コレクションを使用して、Printers(3) の様に特定のプリンタを指定した場合は、値の取得而巳

可能なプロパティに丈しかアクセスする事は出来ない。個別のプリンタのプロパティの値の取得、又は、値の設

定を行うには、予め、其のプリンタをアプリケーションの既定のプリンタに設定する必要が有る。

Page 3: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

3

■ Printerオブジェクトのプロパティ

Printerオブジェクトの各プロパティの初期値は、Windowsのコントロールパネルで、通常使用するプリンタと

仕て設定されて居るプリンタの設定と同じで有る。Printer オブジェクトのプロパティは、実行時に変更する事

が出来る。PaperSize、Height、Width、Orientation、ColorMode、Duplex、TrackDefault、Zoom、DriverName

DeviceName、Port、Copies、PaperBin、PrintQuality等のプロパティが有る。

TrackDefaultプロパティが真(True)の場合に、Windowsのコントロールパネルで通常使用するプリンタを変

更すると、Printer オブジェクトの各プロパティの値は、新しく設定された通常使用するプリンタの設定を反映

した物と成る。

1度プロパティを設定すると、同一ページの途中では変更出来ないプロパティも有る。此の様なプロパティを変

更した場合、其の変更は、次ページ以降に対して有効に成る。下記のコードは、ページ毎に異なる品質で印刷す

る例で有る。

For pageno = 1 To 4

Printer.PrintQuality = -1 * pageno

Printer.Print "此のページの印刷品質は"; pageno;"です。"

Printer.NewPage

Next

印刷品質の値には、-4 ~ -1の範囲の値を指定する。亦、正の整数を指定すると、印刷時の解像度をdpi単位で

指定する事が出来る。下記のコードは、プリンタの解像度を300dpiに設定する物で有る。

Printer.PrintQuality = 300

猶、Printer オブジェクトのプロパティの値は、プリンタメーカーが提供するドライバに依存する。プロパティ

の設定値が有効に成らない場合や、異なる値を設定しても、結果が同じに成る場合も有る。亦、有効範囲外の値

を設定しても、エラーに成る場合と成らない場合が有る。ドライバの詳細に付いては、其のドライバのマニュア

ルを参照する必要が有る。

スケール プロパティ

Printerオブジェクトには、スケールに関する下記のプロパティが有る。

・ScaleMode

・ScaleLeft と ScaleTop

・ScaleWidth と ScaleHeight

・Zoom

ScaleLeftプロパティとScaleTopプロパティは、印刷可能ページの左上隅のX座標とY座標を夫々れ定義する。

ScaleLeftプロパティとScaleTopプロパティの値を変更する事で、印刷ページの左マージンと上マージンを設定

する事が出来る。下記のコードでは、フォームPFrmがページの中心に印刷される様にScaleLeftプロパティと

ScaleTopプロパティを変更して居る。

Printer.ScaleLeft = -( ( Printer.Width - PFrm.Width ) / 2 )

Printer.ScaleTop = -( ( Printer.Height - PFrm.Height ) / 2 )

Page 4: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

4

殆どのプリンタでは、Zoom プロパティがサポートされる。此のプロパティは、出力の拡大率や縮小率を定義す

る。Zoomプロパティの既定値は 100で有り、100パーセントのサイズ(実サイズ)で出力する事を意味する。

Zoom プロパティを使用して、実際のページサイズより拡大、縮小して印刷する事が出来る。例えば、Zoom プ

ロパティを50に設定すると、紙のページの半分の幅、半分の高さで印刷される。下記のコードは、Printerオブ

ジェクトのZoomプロパティにページの半分のサイズを設定する。

Printer.Zoom = 50

テキストやグラフィックスの描画位置の設定

フォームやピクチャボックスと同様に、Printer オブジェクトに対して CurrentX プロパティと CurrentY プロ

パティを設定する事が出来る。Printer オブジェクトでは、此等のプロパティは、テキストやグラフィックスを

カレントページの何処に印刷するかを決定する。下記のコードは、描画座標をカレントページの左上隅に設定す

る。

Printer.CurrentX = 0

Printer.CurrentY = 0

Printerオブジェクトにテキストを配置する時は、TextHeightメソッドとTextWidthメソッドも利用する事が出

来る。

■ Printerオブジェクトからのフォームの印刷

請求書やタイム カード等、紙に印刷して使う情報をアプリケーションのフォームで処理する場合、フォームの情

報に基づく印刷処理が必要に成る。フォームを印刷するには、PrintForm メソッドを使う方法が最も簡単だが、

レーザープリンタで最高の品質を得る為には、Printer オブジェクトの Print メソッドとグラフィックスメソッ

ドを使用する。但し、此の方法では、印刷する前に、フォームの内容を Printer オブジェクトに作成し直す事が

必要に成るので、処理が複雑に成る。

フォームの内容をPrinterオブジェクトに作成するには、下記の物を作成し直す必要が有る。

・フォームの境界線、タイトルバー、メニューバー

・コントロールと其の内容(テキストとグラフィックスを含む)

・フォームに直接適用されたPrintメソッド、及び、グラフィックスメソッドの出力

此等の要素の内、何を Printer オブジェクトに作成するかは、フォームの何の部分を印刷するかに依り決定され

る。

フォーム上のテキスト、及び、グラフィックスの再作成

Printer オブジェクトを使用してフォームの内容を印刷する場合は、Print メソッド、又は、Line、Circle

PaintPicture、PSetの各グラフィックスメソッドでフォームにテキストやグラフィックスを作成した時に、常に

Printer オブジェクトに対しても同じ物を作成する様にコードを記述すると便利で有る。最も簡単な方法は、デ

バイスに依存しないプロシージャを作成して、其処でテキストやグラフィックスを再び作成する事で有る。

例えば、下記のプロシージャは、PaintPictureメソッドを使用して、フォームやコントロールのPictureプロパ

ティの内容を、プリンタや他のフォーム等に出力する。

Page 5: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

5

Sub PrintAnywhere ( Src As Object, Dest As Object )

Dest.PaintPicture Src.Picture, Dest.Width / 2, Dest.Height / 2

If Dest Is Printer Then

Printer.EndDoc

End If

End Sub

此のプロシージャを呼び出す時は、下記の様にコピー元とコピー先のオブジェクトを指定する。

PrintAnywhere MyForm, Printer

PrintAnywhere MyForm, YourForm

フォーム上のコントロールの印刷

Printer オブジェクトは、Print メソッドと Line や PSet 等のグラフィックスメソッドの出力を受け取る事が出

来るが、コントロールを直接 Printer オブジェクトに配置する事は出来ない。コントロールを印刷するには、コ

ントロールの内容をPrinterオブジェクトに描画する為のプロシージャを記述するか、PrintFormメソッドを使

う必要が有る。

■ Printerオブジェクトの内容の印刷

テキストとグラフィックスを Printer オブジェクトに配置した後は、EndDoc メソッドを使用して Printer オブ

ジェクトの内容を印刷する。EndDoc メソッドは、ページを進め、Printer オブジェクト内の未印刷の情報を総

てプリンタスプーラに送る。プリンタスプーラは、プリントジョブをプリンタへ送る前に、プリンタが利用可能

に成る迄、ディスクやメモリに一時保存する。

Printer.Print "此れは1行目のテキストです。"

Printer.Print "此れは2行目のテキストです。"

Printer.EndDoc

猶、アプリケーションがEndDocメソッドを呼び出さずに終了した場合は、自動的にEndDocメソッドが呼び出

される

複数ページの印刷

複数ページに分けて印刷する時は、NewPage メソッドを使用して、新しいページの開始位置を指定する事が出

来る。

Printer.Print "此れは1ページ目です。"

Printer.NewPage

Printer.Print "此れは2ページ目です。"

Printer.EndDoc

印刷ジョブのキャンセル

KillDoc メソッドを使うと、カレントプリントジョブをキャンセルする事が出来る。下記の例は、ダイアログボ

ックスを表示して、印刷するか仕無いかをユーザーに確認する。

Page 6: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

6

Sub PrintOrNot( )

Printer.Print "KillDocメソッドをテストするサンプルの1行目です。"

Printer.Print "KillDocメソッドをテストするサンプルの2行目です。"

Printer.Print "KillDocメソッドをテストするサンプルの3行目です。"

If vbNo = MsgBox ( "印刷しますか。", vbYesNo ) Then

Printer.KillDoc

Else

Printer.EndDoc

End If

End Sub

プリントジョブが、オペレーティングシステムのプリントマネージャに依り処理されている場合は、KillDoc メ

ソッドを使用すると、プリンタに送られたプリントジョブ全体が削除される。此れに対し、プリントジョブがプ

リントマネージャで処理されて居ない場合は、1ページ目が、既にプリンタへ送られて居る事が有り、此のペー

ジの印刷はKillDocメソッドでは中断されない。プリンタに送られるデータの量は、プリンタドライバに依り多

少の違いが有る。

猶、PrintFormメソッドで開始したプリントジョブは、KillDocメソッドではキャンセル出来ない。

■ 左右文字方向対応プログラミングで使用されるPrinterオブジェクト

Printerオブジェクトでは、Printメソッドが出力する文字の読み取り順序と配置揃えが設定可能で有る。

RightToLeftプロパティを真(True)に設定して居る場合、下記の様に成る。

・読み取り順序は、左方向で有る。

・出力は右プリンタマージンから開始される。

RightToLeftプロパティを偽(False)に設定して居る場合、下記の様に成る。

・読み取り順序は、右方向で有る。

・出力は左プリンタマージンから開始される。

■ Printメソッドの出力位置の設定

Printメソッドに依り表示されるテキストの位置を制御するには、下記の方法を使用して描画座標を指定する。

・Cls メソッドでフォーム、又は、ピクチャボックス内のテキスト、及び、グラフィックスを消去し、描画座標

を (0,0) に設定する。

・CurrentXプロパティとCurrentYプロパティで描画座標を設定する。

Clsメソッド

Clsメソッドを使うと、Printメソッドやグラフィックスメソッドで表示されたテキストとグラフィックスは総て

消去される。亦、Cls メソッドを実行すると、描画座標が (0,0) に設定される。此の座標は、通常の座標系では

左上隅に成る。

Picture1.Cls … Picture1と謂う名前のピクチャボックス内の表示をクリアする。

Cls … カレントフォーム内の表示をクリアする。

Page 7: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

7

描画座標

CurrentX プロパティと CurrentY プロパティを使用すると、フォームやピクチャボックス内のテキストやグラ

フィックスの描画を開始する座標を、直接設定する事が出来る。例えば、下記の各コード例では、夫々れピクチ

ャボックスとカレントフォームの描画座標を左上隅 (0,0) に設定する。

Picture1と謂う名前のピクチャボックスの描画座標を設定する。

Picture1.CurrentX = 0

Picture1.CurrentY = 0

カレントフォームの描画座標を設定する。

CurrentX = 0

CurrentY = 0

新しいテキストは、既に其の位置に表示されて居たテキストやグラフィックスの上に表示される。特定の行のテ

キストを消去するには、Lineメソッドを使用してボックスを描き、背景色で塗り潰す。CurrentXプロパティと

CurrentYプロパティで示される描画座標は、グラフィックスメソッドを使用すると変化するので注意を要する。

スケールを特に変更しない場合、フォームとピクチャボックスでは 1単位が 1twip(1,440twipで 1インチ、約

567twipで1cm)に相当する座標系が使用されるが、フォントのサイズは、通常ポイントで表す。其処で、フォ

ーム、ピクチャボックス、又は、PrinterオブジェクトのScaleModeプロパティを 2(ポイント)に設定すると

テキストの出力される位置を簡単に計算する事が出来る。

参照:twip、及び、描画座標の詳細に付いては、後述の『座標系』を参照の事。

TextHeightメソッドとTextWidthメソッド

Print メソッドを使う前に、TextHeight メソッドと TextWidth メソッドを使用して、CurrentX プロパティと

CurrentYプロパティを適切な値に設定する事が出来る。TextHeightメソッドは、其のオブジェクトのフォント

サイズとフォントスタイルに基づいて、指定のテキストの高さを返す。

[ object. ]TextHeight ( string )

引数 stringに指定した文字列にキャリッジリターン( Chr ( 13 ) ) が含まれて居るとテキストは複数行に成り

TextHeightメソッドは行数分の高さを返す。キャリッジリターンが含まれない時は、TextHeightメソッドは常

にテキスト1行分の高さを返す。

TextHeightメソッドは、CurrentYプロパティを特定の行に設定する時に利用する事が出来る。例えば、下記の

ステートメントは、描画座標を5番目の行の先頭に設定する。

CurrentY = TextHeight ( "sample" ) * 4

CurrentX = 0

テキストにキャリッジリターンが含まれて居ない場合、下記の構文でCurrentYをn番目の行に設定出来る。

CurrentY = [ object. ] TextHeight ( string ) * ( n - 1 )

Page 8: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

8

objectは省略出来る。省略すると、TextHeightメソッドはカレントフォームを対象とする。objectに指定出来る

のは、フォーム(非MDIフォーム)、ピクチャボックス、又は、Printerオブジェクトで有る。

TextWidthメソッドは、其のオブジェクトのフォントサイズとフォントスタイルに基づいて、指定のテキストの

幅(文字列の長さ)を返す。多くのフォントがプロポーショナルフォントに成って居るので、文字列の長さがフ

ォーム、ピクチャボックス、又は、Printer オブジェクトの幅よりも大きいか何うかを判断する時に TextWidth

メソッドを利用すると便利で有る。

下記のステートメントは、或るボックスの中央にテキストを表示する為に、TextWidth メソッドと TextHeight

メソッドを使用してCurrentXプロパティとCurrentYプロパティを設定して居る。

CurrentX = ( BoxWidth - TextWidth ( "MealCard" ) ) / 2

CurrentY = ( Boxheight - TextHeight ( "MealCard" ) ) / 2

■ 座標系

此処で説明するサイズ変更、移動、描画等のグラフィックス操作では、描画領域の座標系、又は、コンテナの座

標系が使用されて居る。座標系は、グラフィカル効果を調整する場合丈でなく、フォーム、及び、コントロール

の表示位置をアプリケーションで定義する場合にも使用される。

座標系は、画面上、フォーム上、及び、ピクチャボックスや Printer オブジェクト等のコンテナ上の位置を定義

する為の2次元グリッドで有る。此のグリッド上の位置は、下記の様な形式で指定する。

( x, y )

xの値は x軸方向の位置を表し、特に指定しない限り、左端が 0で有る。yの値は y軸方向の位置を表し、特に

指定しない限り、上端が0で有る。下図は、フォームの座標系の例で有る。

Visual Basicの座標系には、下記の様な規則が適用される。

・コントロールの移動、又は、サイズ変更を行う場合は、其のコントロールのコンテナの座標系を使用する。フ

ォーム上にオブジェクトを直接描画する場合は、其のフォームがコンテナと成る。フレーム、又は、ピクチャ

ボックス(PictureBox)内にコントロールを描画する場合は、其のフレーム(Frame)又は、ピクチャボック

スがコンテナに成る。

・総てのグラフィックスメソッド、及び、Print メソッドでは、コンテナの座標系が使用される。例えば、ピク

チャボックス内にグラフィックスを描画するステートメントは、其のピクチャボックスの座標系を使用して記

述する。

横軸(X軸)

縦軸(Y軸) (x,y)

Page 9: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

9

・フォームのサイズ変更、又は、移動を行うステートメントでは、フォームの位置、及び、サイズは必ず twip

単位で記述する。

フォームのサイズ変更、又は、移動を行うコードを記述する時は、先ず、スクリーン(Screen)オブジェクト

のHeightプロパティとWidthプロパティを調べて観る。此れに依り、其のフォームを画面に正しく表示する

事が出来る。

・画面の左上隅の座標は常に(0, 0)で有る。コンテナの座標系でも、特に指定しない限り、コンテナの左上隅の座

標が(0, 0)と成る。

各座標軸上の位置を表す為に使用する長さの単位の事を、スケールと呼ぶ。Visual Basicでは、夫々れの軸に個

別にスケールを割り当てる事が出来る。

座標系の軸の方向、開始位置、及び、スケールは変更出来る。変更の方法に付いては、後述の『オブジェクトの

座標系の変更』を参照され度し。

グラフィックスの単位 twip

特に指定しない限り、Visual Basicの移動ステートメント、サイズ変更ステートメント、及びグラフィカル描画

ステートメントでは総て、単位として twip が使用される。1 twipは、プリンタの1 ポイントの1/20で、1,440

twipで1 インチ、567 twipで1cm と成る。twipで表現すると、オブジェクトが印刷された時のサイズが簡単

にわかります。画面上でどれくらいの大きさになるかは、ディスプレイ装置のサイズに依り異成ります。twip 以

外の単位を選択する方法に付いては、「オブジェクトの座標系の変更」を参照してください。

■ オブジェクトの座標系の変更

各種のスケールプロパティと Scaleメソッドを使用すると、各オブジェクト(フォームやコントロール)に対し

て独自の座標系を設定する事が出来る。座標系のスケールを設定するには、下記の3つの方法が有る。

・Visual Basicの基準スケールを使う。

・数種類の標準スケールから孰れかを選ぶ。

・独自のスケール(カスタムスケール)を作成して使う。

座標系のスケールを変更する事に依り、フォーム上のグラフィックスの位置とサイズの設定が簡単に成る。例え

ば、1つのピクチャボックスに4本の棒グラフを表示するアプリケーションでは、グラフの本数に合わせてピク

チャボックスコントロールを4等分に分割出来るスケールを設定すると便利で有る。此処では、スケールの設定

方法を、基準スケール、標準スケール、カスタムスケールに分けて説明する。

基準スケールの利用

フォーム、ピクチャボックスコントロール、Printer オブジェクトは、各種のスケールプロパティ(ScaleLeft

ScaleTop、ScaleWidth、ScaleHeight、ScaleMode)を持って居り、此等のプロパティに依りスケールを任意に

設定出来る。既定値で有る基準スケールに依り設定される座標系では、オブジェクトの左上隅が原点(0,0)で、長

さの単位は twipに設定されて居る。

オブジェクトのスケールを変更した後に基準スケールに戻すには、引数を指定せずにScaleメソッドを使う。

Page 10: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

10

標準スケールの選択

ScaleModeプロパティを 1 ~ 7の孰れかの値に設定する事に依り、下記の表の様な標準スケールを選択する事

が出来る。0に設定した場合は、下記に説明するカスタムスケールと成る。

ScaleModeの値 内容

0 ユーザーが定義したスケール(caleWidth、ScaleHeight、ScaleTop、ScaleLeftの孰れか

のプロパティを直接設定すると、ScaleModeプロパティは自動的に0に設定される)

1 twip(既定値、1センチは567twip、1インチは1,440twipに成る)

2 ポイント(1インチは72ポイントに成る)

3 ピクセル(ピクセルは、ディスプレイやプリンタの解像度の最小単位で有る。1インチ当

りのピクセル数は、ディスプレイやプリンタの解像度に依り決まる)

4 キャラクタ(印刷時は、1キャラクタは高さ1/6インチ、幅1/12インチに成る)

5 インチ

6 mm(ミリメートル)

7 cm(センチメートル)

0 ~ 3以外の設定では、印刷時の長さを基準にして居る。例えば、ScaleMode = 7の時は、長さ2の線を印刷す

ると2cmに成る。

ScaleMode = 5 ' フォームのスケールを、インチに設定する。

picPicture1.ScaleMode = 3 ' ピクチャボックスのスケールを、ピクセルに設定する。

ScaleModeプロパティの値を変更すると、新しいスケールに合わせてScaleWidthプロパティとScaleHeightプ

ロパティが再定義される。其の時 ScaleTopプロパティとScaleLeftプロパティは 0に設定される。ScaleWidth

プロパティ、ScaleHeight プロパティ、ScaleTop プロパティ、又は、ScaleLeft プロパティを直接設定すると

ScaleModeプロパティは自動的に0に設定される。

カスタムスケールの作成

オブジェクトの ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight の4つのプロパティを設定する事に依り、ス

ケールを任意に設定する事が出来る。此等のプロパティは、新しいスケールの設定と、現在の座標系のスケール

の取得の両方に使う事が出来る。

ScaleLeftとScaleTopの2つのプロパティは、オブジェクトの左上隅の座標の値を設定する。下記の例では、コ

ードが属して居るフォームの左上隅の座標、及び、picArenaと謂う名前のピクチャボックスの左上隅の座標の値

を、夫々れ設定して居る。

ScaleLeft = 100

ScaleTop = 100

picArena.ScaleLeft = 100

picArena.ScaleTop = 100

此の結果、フォームとピクチャボッ

クスの左上隅の座標は右図の様に成

る。

Page 11: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

11

此の例では、2 つのオブジェクトの左上隅の座標を(100, 100)に設定して居る。此等のプロパティを変更しても

対象と成るオブジェクトのサイズや位置、描画済みのグラフィックス等は変化しない。コンテナの座標系が変更

されると、其のコンテナの中に有るオブジェクトの Left や Top のプロパティは、コンテナの新しい座標系に合

わせて自動的に更新される。亦、此等のプロパティの変更後の処理は、新しい座標系に基づいて行われる。例え

ば、此の例の様に変更した後でフォーム上のコントロールのTopプロパティを100に設定すると、其のコントロ

ールはフォームの最上部に表示される事に成る。

ScaleWidth と ScaleHeight の各プロパティは、現在の描画領域の幅と高さを基準と仕て、スケールの単位を定

義する。

ScaleWidth = 1000

ScaleHeight = 500

此の例では、フォームの水平方向のスケールの単位をフォームの内側の幅の 1/1,000 に、亦垂直方向のスケール

の単位をフォームの内側の高さの1/500に、夫々れ設定して居る。此の設定を行った後でフォームのサイズを変

更しても、単位の長さは変わらない。従って、サイズ変更した時は、同じ長さの単位を表す様に、ScaleWidth

とScaleHeightの値が自動的に更新される。

猶、ScaleWidth と ScaleHeight は、オブジェクトの内側の長さを基準と仕てオブジェクト内部のスケールの単

位を定義する。内側の長さには、境界線の幅、メニューバーやタイトルバーの高さは含まれない。此れに対して

Width とHeightは、コンテナの座標系を基準と仕て、境界線を含んだオブジェクトの大きさを設定して居る。

フォーム等の様に、コンテナ内に配置されて居ないオブジェクトでは、WidthやHeightの単位は常に twipと成

る。

ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight の4つのスケールプロパティには、小数や負の数を指定する

事が出来る。ScaleWidthとScaleHeightの各プロパティに負の値を設定すると、座標系の向きが逆に成る。

4つの値を総て100に設定すると、オブジェクトの座標は左上が(100, 100)、右下が(200, 200)と成る。此の座標

系は、下図の様に成る。

Scaleメソッドに依る座標系の変更

Scale メソッドを使用すると、各プロパティを夫々れ設定するよりも効率良くカスタムスケールを設定する事が

出来る。Scaleメソッドの構文は、下記の通りで有る。

[ object. ] Scale ( x1, y1 ) - ( x2, y2 )

上記に於いて(x1, y1)は左上隅、(x2, y2)は右下隅の座標と成る。詰まり、x1とy1の値は、夫々れScaleLeftと

ScaleTopの各プロパティに対応し、ScaleWidthは x2と x1の差、ScaleHeightは y2と y1の差に設定される。

Page 12: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

12

例えば、下記の様に、フォームの左上隅と右下隅の座標を夫々れ(100, 100)と(200, 200)に設定した場合を考えて

観る。

Scale ( 100, 100 )-( 200, 200 )

此のステートメントでは、フォームの高さと幅を孰れも100単位宛に分割して居る。此の様にスケールを設定し

た時に、下記のコードを実行すると、対象と成るシェイプコントロールはフォームの幅の1/5右へ移動する。

shpMover.Left = shpMover.Left + 20

此処でx1 >x2又はy1 >y2と成る値を設定すると、ScaleWidth又はScaleHeightに負の値を設定したのと同じ

結果が得られる。

■ スケールの変換

或るスケールで表されて居る値を別のスケールで表した値に変換するには、ScaleXメソッドとScaleYメソッド

を使用する。構文は、下記の様に成る。

[ object. ] ScaleX ( value [ , fromScale [ , toScale ] ]

[ object. ] ScaleY ( value [ , fromScale [ , toScale ] ]

描画先の object には、フォーム、ピクチャボックス、又は、Printer オブジェクトを指定する。value には、変

換元の値を指定する。此の値は、fromScale で指定したスケールに依る座標系で表される。戻り値は、toScale

で指定したスケールで表される。toScaleの指定を省略すると、objectのスケールを使って変換される。fromScale

の指定を省略すると、valueは、HIMETRICと謂うスケールモードで表した値と看做される。

HIMETRIC は、物理的なサイズを指定するスケールモードで有る。例えば、10cm の直線を表す HIMETRIC

の値は10,000で有る。画面上に描かれる直線は、モニタの表示領域に関係無く10cmに成る。HIMETRICスケ

ールモード、及び、物理的なサイズに付いては、Microsoft Win32 SDKのマニュアルを参照され度し。

下記のコードは、ピクチャボックスコントロール MyPic に設定されて居るピクチャを、2倍の幅で表示する。

MyPic.Picture.Width は、ピクチャコントロールに設定されて居るピクチャの幅を返す。此の値は HIMETRIC

スケールモードの値なので、Form1のスケールモードに変換する必要が有る。

Form1.PaintPicture MyPic.Picture, X, Y, Form1.ScaleX ( MyPic.Picture.Width ) * 2

下記の例では、フォームのWidthプロパティの値をピクセル数npを使用して指定する2つの方法を示して居る。

' フォームのScaleModeをピクセルに設定

ScaleMode = vbPixels

' 方法1:フォームのScaleModeを一時的に twipに変更

ScaleMode = vbTwips

' ScaleX( )メソッドで twipを単位とする値を指定

Width = Width - ScaleWidth + ScaleX ( np, vbPixels )

' フォームのScaleModeをピクセルに戻す

ScaleMode = vbPixels

' 方法2:フォームのScaleModeを変更せずにピクセル単位から twip単位に変換

Width = Width + ScaleX ( np - ScaleWidth, vbPixels, vbTwips )

Page 13: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

13

■ フォームやピクチャボックスのテキスト表示

テキストをフォームやピクチャボックスに表示するには、其のフォームやピクチャボックスの名前を指定して

Printメソッドを使う。テキストをプリンタへ出力するには、PrinterオブジェクトのPrintメソッドを使う。

Printメソッド

Printメソッドの構文は、下記の通りで有る。

[ object. ] Print [ outputlist ] [ { ; | , } ]

object の指定を省略すると、其のコードが含まれて居るフォーム(カレントフォーム)を対象に Printメソッド

が適用される。

MyFormと謂う名前のフォームにメッセージを表示する。

MyForm.Print "此れはピクチャボックスです。"

picMiniMsgと謂う名前のピクチャボックスにメッセージを表示する。

picMiniMsg.Print "此れはピクチャボックスです。"

カレントフォームにメッセージを表示する。

Print "此れはカレントフォームです。"

Printerオブジェクトにメッセージを出力する。

Printer.Print "此のテキストはプリンタに送られます。"

引数 outputlist は、出力するテキストで有る。outputlist に複数のテキストを指定するには、夫々れをカンマか

セミコロンか、又は、其の両方で区切る必要が有る。此れに付いては、後の『同一行での複数項目の表示』で説

明する。

テキストの切り捨て

フォームやピクチャボックスはスクロールしない。フォームやピクチャボックスが小さ過ぎて総てのテキストを

表示出来ない場合、食み出した部分は表示されない。表示されなく成るテキストの量は、其のテキストの表示を

開始した位置に依存する。

階層化

テキストをフォームに出力すると、テキストは、フォーム上に配置された何のコントロールより下の階層に表示

される。従って、フォームへのテキスト表示は、通常テキスト表示を主目的と仕て作成されたフォーム丈で利用

する。テキストとグラフィックスがフォーム上の階層に何の様に表示されるかは、AutoRedraw プロパティと

ClipControlsプロパティとグラフィックスの階層に依存する。

Page 14: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

14

同一行での複数項目の表示

Print メソッドを使用して表示する項目には、プロパティの値、定数、変数(文字列や数値)を含める事が出来

る。Print メソッドでは、此等の項目に設定されて居る値や式の値を表示する事が出来る。正の数を表示する場

合には、数値の前後に1つ宛スペースが付く。負の数では、数値の前にスペースの代わりに符号が付く。

複数の項目をセミコロンやカンマで区切って指定すると、複数の項目を同じ行に続けて表示する事が出来る。セ

ミコロンで区切られた項目は、間にスペースを入れずに続けて表示され、カンマで区切られた項目は、一定の間

隔を空けて表示される。

Print "Xの値は"; X; "で、Yの値は"; Y; "です。"

此の例では、Xの値が2でYの値が7の時、下記の様に表示される。

Xの値は2で、Yの値は7です。

特に指定しない限り、Print メソッドの出力は、一回毎に改行し、次の行に移動する。表示する項目が無い時は

空白行を表示する。下記の例は、2行のテキストを表示する。

picLineCount.Print "此れは1 行目です。"

picLineCount.Print "此れは2 行目です。"

最初のPrintメソッドの末尾にセミコロンかカンマを付けると、下記のPrintメソッドの出力は、同じ行に続け

て表示される。

picLineCount.Print "此等は総て";

picLineCount.Print "同じ行に表示される。"

Page 15: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

15

■ Printerオブジェクトに関連するメソッドとプロパティ 印刷指令メソッド

EndDoc Printerオブジェクトに送って居るドキュメントを終了し、印刷デバイスやスプーラに出力処理の制御を渡す。

KillDoc 現在実行されて居る印刷ジョブを直ちに終了する。

NewPage Printerオブジェクトの現在のページを終了し、次のページに進む。 描画メソッド

Cls 実行時に作成したグラフィックスやテキストをクリアする。

Print 数値、文字列等を出力する。

PSet 指定の色でオブジェクトに点を描画する。

Line 線や四角形を描画する。

Circle 円や楕円や円弧を描画する。

PaintPicture グラフィックスファイル(.bmp、.wmf、.emf、.cur、.ico、.dib等)を描く。

Scale 座標系を定義する。

ScaleX 幅の値を、ScaleModeプロパティに設定されて居る単位から別の単位に変換する。

ScaleY 高さの値を、ScaleModeプロパティに設定されて居る単位から別の単位に変換する。

TextHeight 現在のフォントでテキスト文字列を出力した時の高さを返す。

TextWidth 現在のフォントでテキスト文字列を出力した時の幅を返す。 描画プロパティ

ScaleMode グラフィックスメソッドを使う時の座標系の単位を設定する。

ScaleLeft グラフィックスメソッドを使う時の左端の水平座標を設定する。

ScaleTop グラフィックスメソッドを使う時の上端の垂直座標を設定する。

ScaleWidth グラフィックスメソッドを使う時の水平方向の長さに対して定めた単位で寸法を設定する。

ScaleHeight グラフィックスメソッドを使う時の垂直方向の長さに対して定めた単位で寸法を設定する。

Zoom 印刷結果の拡大率や縮小率を百分率で設定する(実行時而巳)。

CurrentX 描画メソッドの実行を開始する時に、水平座標を設定する。

CurrentY 描画メソッドの実行を開始する時に、垂直座標を設定する。

RightToLeft テキストの表示方向を示し、両方向に表示可能なシステムの外観を制御する

DrawMode グラフィックスメソッドの出力の外観を設定する。

DrawStyle グラフィックスメソッドで使用する線の種類を設定する。

DrawWidth グラフィックスメソッドを使用して描画する線の太さを設定する。

FillColor 図形内部の塗り潰しに使用する色を設定する。

FillStyle グラフィックスメソッドで作成された円と四角を塗り潰す時のパターンを設定する。

Font Fontオブジェクトを設定する。

TwipsPerPixelX オブジェクトの水平方向のピクセル当りの twip数を返す。

TwipsPerPixelY オブジェクトの垂直方向のピクセル当りの twip数を返す。 印刷設定プロパティ

Height オブジェクトの高さを設定する。

Width オブジェクトの幅を設定する。

Orientation ドキュメントの印刷を縦方向、横方向の孰れのモードで行うかを示す値を設定する。

ColorMode カラー プリンタに出力を行う時に、カラーかモノクロの孰れで印刷するかを設定する。

Duplex プリンタが両面印刷機能を有して居る場合に、両面印刷を行うか何うかを設定する。

TrackDefault Printerオブジェクトが常に同じプリンタを指すか、通常使うプリンタの設定を変更した時に、オブジェクトが指すプリンタも変更するか何うかを示す値を設定する。

Zoom 印刷結果の拡大率やは縮小率を百分率で設定する。

DriverName Printerオブジェクトのプリンタドライバ名を返す。

DeviceName プリンタドライバがサポートして居るデバイス名を取得する。

Port ドキュメントをプリンタに送信する時のポート名を返す。

Copies 印刷部数を設定する。

PaperSize 現在のプリンタの用紙サイズを示す値を設定する。

PaperBin 印刷中に用紙を供給するプリンタの用紙トレーの既定値を設定する。

PrintQuality プリンタの解像度を示す値を設定する。

Page 16: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

16

■ Printerオブジェクトの定数

プリンタのカラーモード

定数 値 内容

vbPRCMMonochrome 1 モノクロ出力

vbPRCMColor 2 カラー出力

両面印刷

定数 値 内容

vbPRDPSimplex 1 片面印刷

vbPRDPHorizontal 2 両面水平印刷

vbPRDPVertical 3 両面垂直印刷

用紙の向き

定数 値 内容

vbPRORPortrait 1 用紙の短い辺を上にして印刷する。

vbPRORLandscape 2 用紙の長い辺を上にして印刷する。

印字の品質

定数 値 内容

vbPRPQDraft -1 簡易印刷

vbPRPQLow -2 低品位

vbPRPQMedium -3 中品位

vbPRPQHigh -4 高品位

PaperBinプロパティ

定数 値 内容

vbPRBNUpper 1 上部トレイの用紙を使う。

vbPRBNLower 2 下部トレイの用紙を使う。

vbPRBNMiddle 3 中央トレイの用紙を使う。

vbPRBNManual 4 用紙を1 枚ずつ手差しにする。

vbPRBNEnvelope 5 封筒フィーダの封筒を使う。

vbPRBNEnvManual 6 封筒フィーダの封筒を使うが、手差しにも対応する。

vbPRBNAuto 7 通常使うトレイの用紙を使う(既定値)。

vbPRBNTractor 8 トラクタフィーダの用紙を使う。

vbPRBNSmallFmt 9 小型フィーダの用紙を使う。

vbPRBNLargeFmt 10 大型トレイの用紙を使う。

vbPRBNLargeCapacity 11 大容量フィーダの用紙を使う。

vbPRBNCassette 14 付属のカセットカートリッジの用紙を使う。

PaperSizeプロパティ

定数 値 内容

vbPRPSLetter 1 レター、8 1/2 x 11インチ

vbPRPSLetterSmall 2 +A611 レター スモール、8 1/2 x 11インチ

vbPRPSTabloid 3 タブロイド、11 x 17インチ

vbPRPSLedger 4 レジャー、17 x 11インチ

Page 17: VB参考資料 【電脳梁山泊 烏賊塾】 - xdomainjunko036.html.xdomain.jp/school/printing/ref/vb02a.pdf · 2017-10-29 · VB参考資料 【電脳梁山泊 烏賊塾】 2 Printersコレクションの利用

VB参考資料 【電脳梁山泊 烏賊塾】

17

vbPRPSLegal 5 リーガル、8 1/2 x 14インチ

vbPRPSStatement 6 ステートメント、5 1/2 x 8 1/2インチ

vbPRPSExecutive 7 エグゼクティブ、7 1/2 x 10 1/2インチ

vbPRPSA3 8 A3、297 x 420 mm

vbPRPSA4 9 A4、210 x 297 mm

vbPRPSA4Small 10 A4 Small、210 x 297 mm

vbPRPSA5 11 A5、148 x 210 mm

vbPRPSB4 12 B4、250 x 354 mm

vbPRPSB5 13 B5、182 x 257 mm

vbPRPSFolio 14 フォリオ、8 1/2 x 13インチ

vbPRPSQuarto 15 クォート、215 x 275 mm

vbPRPS1&H14 16 10 x 14インチ

vbPRPS11x17 17 11 x 17インチ

vbPRPSNote 18 ノート、8 1/2 x 11インチ

vbPRPSEnv9 19 封筒 #9、3 7/8 x 8 7/8インチ

vbPRPSEnv10 20 封筒 #10、4 1/8 x 9 1/2インチ

vbPRPSEnv11 21 封筒 #11、4 1/2 x 10 3/8インチ

vbPRPSEnv12 22 封筒 #12、4 1/2 x 11インチ

vbPRPSEnv14 23 封筒 #14、5 x 11 1/2インチ

vbPRPSCSheet 24 Cサイズシート

vbPRPSDSheet 25 Dサイズシート

vbPRPSESheet 26 Eサイズシート

vbPRPSEnvDL 27 封筒 DL、110 x 220 mm

vbPRPSEnvC3 29 封筒 C3、324 x 458 mm

vbPRPSEnvC4 30 封筒 C4、229 x 324 mm

vbPRPSEnvC5 28 封筒 C5、162 x 229 mm

vbPRPSEnvC6 31 封筒 C6、114 x 162 mm

vbPRPSEnvC65 32 封筒 C65、114 x 229 mm

vbPRPSEnvB4 33 封筒 B4、250 x 353 mm

vbPRPSEnvB5 34 封筒 B5、176 x 250 mm

vbPRPSEnvB6 35 封筒 B6、176 x 125 mm

vbPRPSEnvItaly 36 封筒、110 x 230 mm

vbPRPSEnvMonarch 37 封筒 Monarch、3 7/8 x 7 1/2インチ

vbPRPSEnvPersonal 38 封筒、3 5/8 x 6 1/2インチ

vbPRPSFanfoldUS 39 US スタンダードファンフォールド、14 7/8 x 11インチ

vbPRPSFanfoldStdGerman 40 ドイツスタンダードファンフォールド、8 1/2 x 12インチ

vbPRPSFanfoldLglGerman 41 ドイツリーガルファンフォールド、8 1/2 x 13インチ

vbPRPSUser 256 ユーザー定義のサイズ