USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Set Printer = Printers(n) 'não funciona. Por quê?
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 13/08/2007 10:35 hs            
Enviei hoje em DICAS, um código que uso e faz isto.
Não estou entendendo por que não faz, tenho este código funcionando há muito tempo, e sem API.
Ser não conseguir, me avise te envio o formulário.
 
vlu//
   
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 13/08/2007 12:16 hs            
 
veja se esse exemplo te atende
 
 

Roberto
roberto@vbweb.com.br
     
Eh Nhois
SAO PAULO
SP - BRASIL
Postada em 13/08/2007 18:22 hs         
Incrível!!! Alguma coisa estranha no ar. O seu código, Roberto, funciona perfeitamente, EM TEMPO DE EXECUÇÃO. Quando saio do programa não grava a impressora padrão inicial.
Li em algum lugar que pode ser problema de service pack do VB6. Tenho instalado o SP6, mas não instalei os anteriores. Vocês sabem se o SP6 engloba as service packs anteriores.
Que coisa, hein! Continuo aqui, na luta.
LCRamos, se puder me mandar o formulário pra eu testar (não achei nas dicas recentes). Meu e-mail: gelson-alves@bol.com.br
 
Obrigado pessoal!
 
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 14/08/2007 09:41 hs            
Public nrIMPRESSORA As Printer   ' melhor nomear como publica em um módulo
Private Sub Form_Load()
 Me.Top = 2940
 Me.Left = 2640
 Me.Height = 4215
 Me.Width = 5055
 cboIMPRIME.Clear      
 cboIMPRIME.Text = Printer.DeviceName
 For Each nrIMPRESSORA In Printers
  cboIMPRIME.AddItem nrIMPRESSORA.DeviceName
 Next
 MousePointer = 0
End Sub
Private Sub Form_KeyDown(TK As Integer, Shift As Integer)
 If TK = 118 Then
  cmdIMPRIME_Click
  Exit Sub
 End If
 If TK = 123 Then
  cmdRETIMPR_Click
  Exit Sub
 End If
End Sub
Private Sub cboIMPRIME_KeyDown(TK As Integer, Shift As Integer)
 If TK = 13 Then
  cmdIMPRIME.SetFocus
  Exit Sub
 End If
 If TK = 27 Then
  cmdRETIMPR.SetFocus
  Exit Sub
 End If
End Sub
Private Sub cmdIMPRIME_Click()
 MousePointer = 11
 For Each nrIMPRESSORA In Printers
  If nrIMPRESSORA.DeviceName = cboIMPRIME.Text Then
   Set Printer = nrIMPRESSORA
   Exit For
  End If
 Next
 MousePointer = 0
 cmdRETIMPR_Click
 Exit Sub
End Sub
Private Sub cmdRETIMPR_Click()
 MousePointer = 0
 Unload frmESCOLHE
 Set frmESCOLHE = Nothing
End Sub
Tai.
Nome do Form = frmESCOLHE
Combo Nome  = cboIMPRIME
Botão Nome = cmdIMPRIME
Botão Nome = cmdRETIMPR
Faça seu layout, o código é este, e quando saio a impressora padrão fica a que foi setada.
 
vlu//
   
Eh Nhois
SAO PAULO
SP - BRASIL
Postada em 15/08/2007 13:48 hs         
Valeu pessoal!
Obrigado pelo esforço em tentar ajudar.
Testei todos os código mas não resolvi o problema.
Talvez esteja fazendo alguma bobagem, ou, quem sabe, é realmente um problema de service pack.
Se eu conseguir encontrar a solução eu posto aqui.
Estou encerrando o tópico.
 
Abraço!
     
Página(s): 2/2     « ANTERIOR  

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página