Problemas c/ ObjetoPrinter - Params. de Impresssao
Boa Tarde,
Estou tentando enviar uma impressão de etiquetas para uma impressora padrão SATO, onde as etiquetas possuem tamanho:
Width: 15,01 (em cm)
Height: 11,99 (em cm)
Width: 150,10 (em mm)
Height: 119,90 (em mm)
Width: 5,91 (em inches)
Height: 4,72 (em inches)
Esta impressora está em rede, instalada como secundária (não é padrão) em um computador na rede.
Abaixo segue o código onde eu localizo a impressora, e depois seto os parametros de impressão. Porém, ocorre o erro dizendo que as propriedades são somente leitura. Logo depois o codigo da funcao que imprime o texto (imp_textoXYWH)
Alguém poderia me dizer como conseguir setar os parametros abaixo sem que o erro ocorra?
Onde está em vermelho é onde ocorre o erro de "read-only" nas propriedades...
Abraços!!!
=====================================================
'seleciona como impressora aquela que tem o device name da SATO
'----------------------------------------------------------------
For Each impr In Printers
If UCase(InStr(impr.DeviceName, "SATO")) Then
Set Printer = impr
Exit For
End If
Next
'Tamanho do espaço(página) a ser impresso (escala, tamanho e altura)
'-----------------------------------------------------------
impr.PaperSize = vbPRPSUser '-------> Determina o tipo de papel (User Defined)
impr.ScaleMode = vbCentimeters '----> Muda o tipo de medida para cm (centímetros)
impr.ScaleHeight = 15.01 '----------> Define altura do espaço
impr.ScaleWidth = 11.09 '-----------> Define tamanho do espaço
impr.Height = 4.72 * 1440 '---------> Determina o tamanho da folha (em Twips)
impr.Width = 5.91 * 1440 '----------> Determina a altura da folha (em Twips)
'Determina as Propriedades da Impressão
'--------------------------------------
impr.Orientation = vbPRORPortrait '-----> Imprime como "retrato"
Do While Val(Text_QEtiq) >= 0
'****************************************************************************
************
'Titulo etiqueta ---> (**************************)
'---------------
impr.FontName = "Arial" '-----------------------> Nome da Fonte
impr.FontSize = 11 '----------------------------> Tamanho da Fonte
impr.FontBold = True '--------------------------> Negrito ou Não (Sim)
impr.ForeColor = vbBlack '----------------------> Cor da Fonte
impr.ColorMode = vbPRCMMonochrome '-------------> Impressão Colorida ou Monocromática
'Imprime as informações da etiqueta
'-------------------------------------------------------
Call imp_textoXYWH(UCase("Teste com o nome da empresa"), 3.15, 0.5)
'Endereço etiqueta
'-----------------
impr.FontName = "Impact" '----------------------> Nome da Fonte
impr.FontSize = 11 '----------------------------> Tamanho da Fonte
impr.FontBold = False '-------------------------> Negrito ou Não (Sim)
impr.ForeColor = vbBlack '----------------------> Cor da Fonte
impr.ColorMode = vbPRCMMonochrome '-------------> Impressão Colorida ou Monocromática
Call imp_textoXYWH(UCase("Teste de endereço 1"), 3.22, 1.13)
Call imp_textoXYWH(UCase("Teste de endereço 2"), 3.22, 1.47)
Call imp_textoXYWH(UCase("Fones: (0xx11) 4000-0000"), 3.22, 1.79)
Call imp_textoXYWH(UCase("Teste 4"), 3.22, 2.19)
Call imp_textoXYWH(UCase("INDÚSTRIA BRASILEIRA"), 3.22, 2.58)
impr.PaintPicture logo.Picture, 0.22, 0.36, 2.61, 2.53
impr.EndDoc '------> Manda a etiqueta para o spool
StrContador = Val(StrContador) + 1
Text_QEtiq = Val(Text_QEtiq) - 1
Loop
Frame_ImprEtiq.Visible = False
End If
End Sub
====================================================
Public Sub imp_textoXYWH(texto As String, Optional x, Optional y)
If Not IsMissing(x) Then impr.CurrentX = Val(x)
If Not IsMissing(y) Then impr.CurrentY = Val(y)
impr.Print texto
End Sub
Discussão (2)
Carregando comentários...