ラベルを印刷したい 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初挑戦です。