IMPRIMIR ARQUIVO WORD PELO VB6
Estou imprimindo um arquivo do Word, pelo Visual Basic 6, porém, ele sempre imprimi na impressora que está como padrão no Windows.
Quero que quando o usuário do programa, clicar em imprimir, abra aquela caixa de impressoras, para o usuário selecionar a impressora que quer imprimir, após selecionar e clicar em OK, começa a impressão, tem como alguém me ajudar com isso...
O código que estou usando para imprimir é esse:
Dim Word As New Word.Application
Word.Documents.Open [Ô]c:\Teste\Refeição.docx[Ô]
Word.Visible = True
Word.PrintOut
Word.Quit
Set Word = Nothing
Quero que quando o usuário do programa, clicar em imprimir, abra aquela caixa de impressoras, para o usuário selecionar a impressora que quer imprimir, após selecionar e clicar em OK, começa a impressão, tem como alguém me ajudar com isso...
O código que estou usando para imprimir é esse:
Dim Word As New Word.Application
Word.Documents.Open [Ô]c:\Teste\Refeição.docx[Ô]
Word.Visible = True
Word.PrintOut
Word.Quit
Set Word = Nothing
Ninhuem?
Cara acho que isso pode te ajudar
http://www.macoratti.net/dica30.htm
http://www.macoratti.net/dica30.htm
Alvaro, obrigado, porém, foi ai mesmo que peguei o código e estou conseguindo imprimir normal, porém, o que quero, é saber como fazer para escolher em qual impressora imprimir esse arquivo do word, dessa forma que está, só imprimi direto na impressora que está como padrão.
Sabe como faço para quando clicar em imprimir, não imprimir direto e sim abrir uma caixa para escolher a impressora?
Valew!
Sabe como faço para quando clicar em imprimir, não imprimir direto e sim abrir uma caixa para escolher a impressora?
Valew!
Colega coloque em um form:
01 Combobox e nomeie de [txt-color=#0000f0]cboImpressora[/txt-color]
01 CommandButton e nomeie de [txt-color=#0000f0]cmdImprimir[/txt-color]
e cole o seguinte codigo
pronto basta escolher a impressora no combo e mandar imprimir
01 Combobox e nomeie de [txt-color=#0000f0]cboImpressora[/txt-color]
01 CommandButton e nomeie de [txt-color=#0000f0]cmdImprimir[/txt-color]
e cole o seguinte codigo
Private Sub form_load()
Dim Impressoras As Printer
cboImpressora.Clear
For i = 0 To Printers.Count - 1
cboImpressora.AddItem Printers(i).DeviceName
Next i
If cboImpressora.ListCount > 0 Then cboImpressora.ListIndex = 0
End Sub
Private Sub cmdImprimir_Click()
For Each Impressoras In Printers
Set Printer = Impressoras
If Impressoras.DeviceName = cboImpressora.Text Then Exit For
Next
Dim Word As New Word.Application
Word.Documents.Open [Ô]c:\Teste\documento.docx[Ô]
Word.Visible = True
Word.PrintOut
Word.Quit
Set Word = Nothing
End Sub
pronto basta escolher a impressora no combo e mandar imprimir
[ô]Carrega um combo com todas as impressoras do sistema
Dim prn As Printer
For Each prn In Printers
Combo1.AddItem prn.DeviceName
Next
Winsock1.LocalPort = 1001
Winsock1.Listen
Private Sub Combo1_Click()
NomeImpressora = Combo1.Text
End Sub
[ô]Aqui vc carrega para imprimir na impressora selecionada
Dim Impressora As Printer
Dim Imp_Encontrada As String
For Each Impressora In Printers
Set Printer = Impressora
Imp_Encontrada = Impressora.DeviceName
If Impressora.DeviceName = NomeImpressora Then [ô]Nome da Impressora instalada no Windows
Imp_Encontrada = Impressora.DeviceName
Exit For
End If
Next
Acho que isso pode te ajudar, com isso vc pode fazer um ajuste e adaptar para o que vc precisa
Dim prn As Printer
For Each prn In Printers
Combo1.AddItem prn.DeviceName
Next
Winsock1.LocalPort = 1001
Winsock1.Listen
Private Sub Combo1_Click()
NomeImpressora = Combo1.Text
End Sub
[ô]Aqui vc carrega para imprimir na impressora selecionada
Dim Impressora As Printer
Dim Imp_Encontrada As String
For Each Impressora In Printers
Set Printer = Impressora
Imp_Encontrada = Impressora.DeviceName
If Impressora.DeviceName = NomeImpressora Then [ô]Nome da Impressora instalada no Windows
Imp_Encontrada = Impressora.DeviceName
Exit For
End If
Next
Acho que isso pode te ajudar, com isso vc pode fazer um ajuste e adaptar para o que vc precisa
Pessoal, nos dois códigos acontecem a mesma coisa, aparecem as impressoras no combobox, porém, quando coloco para imprimir, sempre imprimi na impressora que está como padrão no Windows.
Estou enviando o exemplo que fiz com o código do Marcelo, se puderem alterar e ver no que estou errando..
Valew
Estou enviando o exemplo que fiz com o código do Marcelo, se puderem alterar e ver no que estou errando..
Valew
Cleber mandei no seu email um projeto de mudança de impressora padrão pelo crystal
Acho que isso pode te ajudar
Acho que isso pode te ajudar
Realmente não funciona o código acima mas agora testado a maneira mais simples.
coloque um commondialog em um form
-->Project/components - Microsoft Common Dialog Control
acrescente o mesmo em um form juntamente com um command button e cole:
Eu testei aqui e funcionou que é uma maravilha
coloque um commondialog em um form
-->Project/components - Microsoft Common Dialog Control
acrescente o mesmo em um form juntamente com um command button e cole:
Private Sub Command1_Click()
On Error GoTo Cancelado
Dim Word As New Word.Application
CommonDialog1.CancelError = True
CommonDialog1.ShowPrinter
Word.Documents.Open [Ô]c:\pasta\documento.docx[Ô]
Word.Visible = True
Word.PrintOut
Word.Quit
Set Word = Nothing
Exit Sub
Cancelado:
Err.Clear
End Sub
Eu testei aqui e funcionou que é uma maravilha
Obrigado a todos, era exatamente o que eu queria...
Valew!
Valew!
Tópico encerrado , respostas não são mais permitidas