2

ラベルを印刷したい Brother QL-720NW ラベルプリンターがあります。

プリンターには幅62mmのロールがあります

何かを印刷しようとすると、ページを設定し、ページ サイズを定義する必要があります。ページ サイズが正しくない (幅が 62mm を超える) 場合、プリンターは何も印刷しません。

今私の問題は、マクロでExcelを使用してデータをプリンターに送信していることです。使用できる定義済みのページ サイズ ( http://msdn.microsoft.com/en-us/library/office/ff834612%28v=office.15%29.aspx )がいくつかあることは知っていますが、私の場合はすべてそれらはこの目的には大きすぎます。

ここに私がこれまでに持っているコードのサンプルがあります:

Sub CreateTestCode()

' setting printer
Dim objPrinter As String
objPrinter = ActivePrinter
ActiveSheet.PageSetup.PrintArea = Range("Img")
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
.PrintHeadings = False
.PrintGridlines = False
.RightMargin = Application.InchesToPoints(0.39)
.LeftMargin = Application.InchesToPoints(0.39)
.TopMargin = Application.InchesToPoints(0.39)
.BottomMargin = Application.InchesToPoints(0.39)
.PaperSize = xlPaperUser
.Orientation = xlLandscape
.Draft = False
End With

Dim printerName As String
printerName = "BrotherQL720NW Labelprinter on XYZ"

ActiveSheet.PrintOut Preview:=True, ActivePrinter:=printerName

ActivePrinter = objPrinter
End Sub

今、私は3つの質問があります:

1: .PaperSize = xlPaperUser で実行時エラー '1004' が発生します。PageSetup クラスの PaperSize を設定できません。ここで何が問題なのですか?

2: 用紙サイズを 62mm x 50mm のように設定するにはどうすればよいですか?

3: 印刷領域を Range("Img") に定義しても、シート全体が印刷されますか?!?

ちなみに私はvba初心者で、vba初挑戦です。

4

2 に答える 2