Ir ao conteúdo

Visual Basic Impressão via VBA direcionado


Ir à solução Resolvido por Douglas ianes,

Posts recomendados

  • Solução
Postado

Boa tarde pessoal.

 

estou usando este codigo para imprimir uma userform em uma impressora especifica.

 

'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        'IgnorePrintAreas:=False

 

Problema é que uso outras planilhas automatizadas que precisam imprimir em outra impressora, então esse codigo precisaria indicar o endereço da impressora a ser impresso, que no caso seria esse:

 

\\105.103.176.169\EasyCorder_PF4i_(203_dpi)-DP

 

consegue me ajudar a fazer com que esse codigo imprima direto neste endereço?

Postado
15 horas atrás, Douglas ianes disse:

Boa tarde pessoal.

 

estou usando este codigo para imprimir uma userform em uma impressora especifica.

 

'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        'IgnorePrintAreas:=False

 

Problema é que uso outras planilhas automatizadas que precisam imprimir em outra impressora, então esse codigo precisaria indicar o endereço da impressora a ser impresso, que no caso seria esse:

 

\\105.103.176.169\EasyCorder_PF4i_(203_dpi)-DP

 

consegue me ajudar a fazer com que esse codigo imprima direto neste endereço?

@Midori  consegue me ajudar

 

Postado

@Douglas ianes  Tente passar o endereço para o parâmetro ActivePrinter,

 

ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
    ActivePrinter:="\\105.103.176.169\EasyCorder_PF4i_(203_dpi)-DP", _
    Collate:=True, IgnorePrintAreas:=False

 

  • Obrigado 1
Postado
4 horas atrás, Midori disse:

@Douglas ianes  Tente passar o endereço para o parâmetro ActivePrinter,

 


ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
    ActivePrinter:="\\105.103.176.169\EasyCorder_PF4i_(203_dpi)-DP", _
    Collate:=True, IgnorePrintAreas:=False

 

Não deu certo, imprimiu direto na impressora que uso como padrão.

Postado

@Douglas ianes  Tente mudar a impressora a padrão com a propriedade ActivePrinter antes de imprimir.

 

Aí teria que ser assim,

 

Application.ActivePrinter = "\\105.103.176.169\EasyCorder_PF4i_(203_dpi)-DP em Ne02:"

 

No seu caso talvez não seja "Ne02".

 

Para saber a string correta mude manualmente e depois rode a macro para salvar o retorno de ActivePrinter em uma célula

 

https://docs.microsoft.com/en-us/office/vba/api/excel.application.activeprinter

 

 

  • Amei 1
Postado

@Midori quando eu coloco ela como padrão manualmente ai sim o codigo pega a string, mas quando volto para a outra impressora comun que deve ser a padrão ai imprimi da errada.

 

acho que eu não estou entendendo a forma de usar activeprinter.

Postado
21 horas atrás, Midori disse:

@Douglas ianes  Quando você coloca manualmente essa impressora da rede como padrão qual é a saída deste comando na célula A1?

 


[A1] = Application.ActivePrinter

 

\\105.103.176.169\EasyCoder PF4i (203 dpi) - DP em Ne04:

20 minutos atrás, Douglas ianes disse:

\\105.103.176.169\EasyCoder PF4i (203 dpi) - DP em Ne04:

conseguir entender a execução da rotina e funcionou, muito obrigado pela ajuda.

Postado
Em 23/03/2021 às 08:00, Douglas ianes disse:

\\105.103.176.169\EasyCoder PF4i (203 dpi) - DP em Ne04:

conseguir entender a execução da rotina e funcionou, muito obrigado pela ajuda.

@Midoriainda a respeito deste caso, consegui fazer funcionar direcionando pra impressora correta.

Agora estou enfrentando outro problema, a impressora e compartilhada em rede através de um PC local, todos os dias pelas manha tenho dificuldade em usar a planilha devido o computador ter senha de acesso, ai eu tenhoq ue ir em todos os PCs que usam essa planilha e "mapear" o PC compartilhado com a impressora.

 

è possivel eu incluir o usuario e senha no código?

Postado

@Douglas ianes Tente com AddPrinterConnection de WshNetwork, p.ex

 

Sub AddPrinterConnection(LocalName As String, RemoteName As String, [UpdateProfile], [UserName], [Password])

 

Sub Macro()
    Dim Rede        As Object
    Dim Usuario     As String
    Dim Senha       As String
    Dim Impressora  As String
    
    Set Rede = CreateObject("WScript.Network")
        
        Impressora = "\\105.103.176.169\EasyCoder PF4i (203 dpi) - DP"
        Usuario = Rede.UserName
        Senha = "Senha"
        
        Rede.AddPrinterConnection _
            LocalName:="LPT1", RemoteName:=Impressora, _
            UserName:=Usuario, Password:=Senha
End Sub

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!