SELECIONAR IMPRESSORA AUTOMATICAMENTE

EMERSON999 08/02/2010 10:45:23
#333866
Bom dia amigos!

Estou tentando montar um formulário que defina a impressora padrão no ato na abertura sem necessita seleciona-la. Vou explicar qual o motivo.
Estou montando um sistema para um associação e na mesma deixaremos uma impressora por conta da impressão das fichas dos pacientes e a outra deixaremos por conta da impressão de envelopes. Então eu gostaria que assim que fosse aberto o menu de impressão dos envelopes ele modifica-se a impressora automaticamente para a de envelopes e mesma coisa com as fichas.

Alguem sabe como fazer isso? Definir a impressora no ato da abertura de um formulário?

Desde já agraço pela atenção e caso precise estarei a disposição

Emerson
EDERMIR 08/02/2010 10:52:01
#333868
Primeiramente você deverá configurar as impressoras a serem utilizadas nas estações.
Depois (segundo o nome de cada impressora) proceda da seguinte forma:
Wimpressora_fatura = [Ô]Epson 1170[Ô]
For Each X In Printers
If X.DeviceName = Wimpressora_fatura Then
Set Printer = X
End If
Next X
EMERSON999 08/02/2010 15:02:19
#333904
Boa tarde Edemir.
Tentei proceder um teste aqui, mais não funcionou. Primeiramente ele deu 2 erros falando que as variaveis Wimpressora_fatura e X precisavam ser declaradas, depois fiz a declaração delas simples colocando-as como Variant.
Logo após executei o teste novamente e não apareceu nenhum erro, mais porém ele não definiu a impressora que eu informei como padrão.
O que pode ter ocorrido?
Coloque o código desta forma
dim Wimpressora_fatura as variant
dim X as variant
Wimpressora_fatura = [Ô]pdfcreator[Ô]
For Each X In Printers
If X.DeviceName = Wimpressora_fatura Then
Set Printer = X
End If
Next X

Obrigado pela sua atenção
ASHKATCHUP 08/02/2010 16:42:54
#333932
Definir impressora padrão do windows?

http://support.microsoft.com/default.aspx?scid=kb;EN-US;266767
MICROSCHEME 08/02/2010 16:59:29
#333936
Resposta escolhida

Veja se te ajuda.

Copia o código abaixo e salva com a extensão .frm e roda.

Blz . . .

VERSION 5.00
Begin VB.Form Form1
Caption = [Ô]Form1[Ô]
ClientHeight = 6585
ClientLeft = 60
ClientTop = 450
ClientWidth = 9195
LinkTopic = [Ô]Form1[Ô]
ScaleHeight = 6585
ScaleWidth = 9195
StartUpPosition = 3 [ô]Windows Default
Begin VB.ComboBox Combo001
Height = 315
Left = 2145
TabIndex = 1
Text = [Ô]Combo001[Ô]
Top = 2790
Width = 4905
End
Begin VB.CommandButton Command001
Caption = [Ô]Imprimir[Ô]
Height = 525
Left = 3975
TabIndex = 0
Top = 3300
Width = 1245
End
End
Attribute VB_Name = [Ô]Form1[Ô]
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub form_load()
Dim Impressoras As Printer
Combo001.Clear
For i = 0 To Printers.Count - 1
Combo001.AddItem Printers(i).DeviceName
Next i
If Combo001.ListCount > 0 Then Combo001.ListIndex = 0
End Sub

Private Sub Command001_Click()
For Each Impressoras In Printers
Set Printer = Impressoras
If Impressoras.DeviceName = Combo001.Text Then Exit For
Next
Printer.CurrentX = 1000
Printer.CurrentY = 1000
Printer.FontSize = 12
Printer.Print [Ô]Imprimindo em: [Ô] & Printer.DeviceName
Printer.EndDoc
End Sub

EMERSON999 08/02/2010 17:41:12
#333940
Pessoal, muito obrigado pela ajuda de todos.
Consegui chegar em uma conclusão que foi está
Dim vgimp As Printer
For Each vgimp In Printers
Set Printer = vgimp
If vgimp.DeviceName = [Ô]PDFCreator[Ô] Then Exit For
Next

sem ajuda de vocês não teria conseguido, o que precisarem pode contar comigo

Obrigado
Tópico encerrado , respostas não são mais permitidas