Cómo imprimir desde código VBA
Resulta que quiero imprimir desde código y para esto grabé una macro pero estoy teniendo un error en la parte donde defino el tamaño de la hoja.
Cabe destacar que la impresora es una impresora de facturas (http://www.custom.biz/ticket-printers/q-IIIx-119-7 ), ese es el módelo, por lo tanto el .PaperSize es distinto a los que comunmente aparecen, por lo mismo grabé la macro, pero al usar el código generado me da un error en esa linea: adjunto código...
Sub Macro3() ' ' Macro3 Macro ' ' Range("AA1:AB13").Select Application.PrintCommunication = True With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With 'ActiveSheet.PageSetup.PrintArea = "" With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(0.236220472440945) .RightMargin = Application.InchesToPoints(0.236220472440945) .TopMargin = Application.InchesToPoints(0.236220472440945) .BottomMargin = Application.InchesToPoints(0.236220472440945) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintNoComments .PrintQuality = 203 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = 217 ' Donde se genera el error............... .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 100 .PrintErrors = xlPrintErrorsDisplayed .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .ScaleWithDocHeaderFooter = True .AlignMarginsHeaderFooter = True .EvenPage.LeftHeader.Text = "" .EvenPage.CenterHeader.Text = "" .EvenPage.RightHeader.Text = "" .EvenPage.LeftFooter.Text = "" .EvenPage.CenterFooter.Text = "" .EvenPage.RightFooter.Text = "" .FirstPage.LeftHeader.Text = "" .FirstPage.CenterHeader.Text = "" .FirstPage.RightHeader.Text = "" .FirstPage.LeftFooter.Text = "" .FirstPage.CenterFooter.Text = "" .FirstPage.RightFooter.Text = "" End With 'Application.PrintCommunication = True Selection.PrintOut Copies:=1, Collate:=True End Sub
Respuesta de Luis Carlos
2