宅配便の用紙サイズ(ユーザー定義)の幅と長さを設定するには?

Question 58.1 印刷 Previous Next
初めて質問させていただきます よろしくお願い致します。
エクセル2000で宅急便の印刷マクロを作っていますが、印刷の詳細設定についてお教え下さい。
プリンターはドットプリンター EPSON VP-1100、OSはWin98SEです。

マクロの自動記録で、ファイル→印刷→プリンターを選択し、プロパティからユーザー定義サイズで 幅2032 長さ1180(単位0.1mm)に設定します。これでマクロを実行すると印刷は上手く出来ましたが、記述されたマクロをのぞいて見ると、幅と長さの数値が記録されていません。
Sub 印刷2032x1180()
    Application.ActivePrinter = "LPT1: の EPSON VP-1100"
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
    End With
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "LPT1: の EPSON VP-1100"
End Sub
マクロでは、おそらく次のような設定でユーザー定義の用紙を選択できますが、サイズの設定はどのような指定にすればよいか不明です。
    With ActiveSheet.PageSetup
         .PaperSize = xlPaperUser
    End With
マクロによるユーザー定義サイズの設定方法をお教え下さい。
Answer   Copyright (C) 2003.2.19 永井善王
LANで接続されたプリンターをお使いですね。
きちんとしたご質問をいただきましたが、あいにく私の手元には同じプリンターがありません。 しかし、この部分は特に相違が無いようなので、お答えしたいのですが自信はありません。
プロパティダイアログ
Excel2000 & WinMe & Canon BJF300環境で、ご質問文にある手順で操作すると、左図のようにプリンターの[プロパティ]ダイアログが表示されるので、

[用紙サイズ]に「ユーザー定義サイズ」を選択すれば、
下図のダイアログが表示されます。

そこでは、用紙サイズ(幅・長さ)と単位を入力することができます。
ユーザー定義サイズダイアログ ご質問のポイントは、右図のダイアログで入力された値がマクロに記録されないので、どうすればよいか? ということですね。

ちなみに、ご提示されたPageSetupのコードを実行すると、エラーが出るのではないでしょうか。 PageSetupプロパティの定数(後述)には xlPaperUser(ユーザー定義)があるのに何故でしょうか?

これらのダイアログボックスは Excelのものではなく、プリンタードライバーのものかと思います。 上図の[用紙サイズ]で選択された値は、Excelの[ページ設定]ダイアログの[用紙サイズ]に写されて、その結果がブランク(ユーザー定義)でなければ、PageSetupプロパテイに定数で指定して設定するコード(幅と長さは含まず)が記録されるのではないでしょうか。

そうだとすれば、「ユーザー定義サイズ」を選択した場合に 上記 2つのダイアログの[用紙サイズ]が空白になったり、ご提示されたコードを実行するとエラーが出たりすることに合点がいきます。
よって結論としては、幅と長さを VBAの標準機能で設定することは不可能と判断します。

打開策をあげておきます。参考になれば幸いです。
A案
ユーザーが用紙サイズを正確に設定できるように、「設定方法」を案内するユーザーフォームを作成しておいて、マクロの開始直後または印刷する直前にモードレスで表示する
B案
佐川急便殿のA4専用紙 宅配便会社から提供されているソフトウェアの利用を検討する
C案
APIの利用とか、プリンタードライバーがしていることと同様の制御方法を探究する

参考ページ
PaperSize(用紙サイズ)プロパティの定数一覧表
[オートシェイプの書式設定]ダイアログは組み込みダイアログボックスか
ユーザーフォームがモードレスで表示できないが

 
佐川急便のホームページ の中の 「出荷業務支援サービス」より
e飛伝    多機能送り状発行ソフト
     (右図のA4専用紙使用、インクジェットまたはレーザープリンター)
飛伝V    荷札発行に必要なハードとソフト、すべてをまとめた
飛伝BOY  荷札発行に必要な機能を小さなボディに凝縮

 
ヤマト運輸のホームページ の中の「出荷業務効率化をお考えの方へ」より
B-CAT     クロネコヤマトの宅急便伝票発行ソフト
e-cat(EDI型)  EDI対応 宅急便送り状発行・出荷管理ソフトウェア
ねこ主任    クロネコメール便担当 宛名ラベル発行CD-ROMソフト

※ リンク先のURLは 2003.3.15現在のもので将来、変更される場合があります。


 

Excel VBA Macro