IMPRESSAO SELECIONAR A IMPRESSORA
Galera primeiro BOM DIA
O problema é o seguinte eu tenho uma CommonDialog.ShowPrinter só que no meu código ele muda a impressora padrão, eu queria que ele impremisse na impressora selecionada pelo usuário e depois voltasse a impressora que estava padrão anteriormente
Meu código
Agradeço desde ja a todos
O problema é o seguinte eu tenho uma CommonDialog.ShowPrinter só que no meu código ele muda a impressora padrão, eu queria que ele impremisse na impressora selecionada pelo usuário e depois voltasse a impressora que estava padrão anteriormente
Meu código
Public Sub imprime_rela(rela As String)
On Error GoTo erro
Dim RelatorioAccess As Object
Set RelatorioAccess = CreateObject("Access.Application")
With RelatorioAccess
.OpenCurrentDatabase filepath:=App.Path & "\TarRegistro.mdb"
.Visible = False
FrmConsulta.CommonDialog.ShowPrinter
.docmd.OpenReport ReportName:=rela
.docmd.Close
.Quit
Impressao = True
End With
Exit Sub
erro:
Impressao = False
MsgBox "Erro no Processo de Relatório" & vbCrLf & _
" Descrição do erro: " & Err.Description, vbExclamation, prod
End Sub
Agradeço desde ja a todos
Bom dia RAFAEL.DYAS
Para que você possa retornar com a impressora, basta armazenar a impressora padrão e depois retorná-la use isso:
Abraços...
Para que você possa retornar com a impressora, basta armazenar a impressora padrão e depois retorná-la use isso:
Dim ImpInicial As String
ImpInicial = Printer.DeviceName
'Para retornar
Printer.DeviceName = ImpInicial
Abraços...
Vélhinho
Deu Este erro
---------------------------
Microsoft Visual Basic
---------------------------
Compile error:
Wrong number of arguments or invalid property assignment
---------------------------
OK Ajuda
---------------------------
Deu Este erro
---------------------------
Microsoft Visual Basic
---------------------------
Compile error:
Wrong number of arguments or invalid property assignment
---------------------------
OK Ajuda
---------------------------
Opa... falha minha...
Para retornar com a impressora é preciso setar a classe toda, então:
agora foi funfar... abraços...
Para retornar com a impressora é preciso setar a classe toda, então:
Dim x
For Each x In Printers
If ImpInicial = x.DeviceName Then
If Printer.DeviceName <> x.DeviceName Then Set Printer = x
Exit For
End If
Next
agora foi funfar... abraços...
Sua rotina completa ficará assim:
Public Sub imprime_rela(rela As String)
On Error GoTo erro
Dim ImpInicial As String 'Isso foi add
ImpInicial = Printer.DeviceName 'Isso foi add
Dim RelatorioAccess As Object
Set RelatorioAccess = CreateObject("Access.Application")
With RelatorioAccess
.OpenCurrentDatabase filepath:=App.Path & "\TarRegistro.mdb"
.Visible = False
FrmConsulta.CommonDialog.ShowPrinter
.docmd.OpenReport ReportName:=rela
.docmd.Close
.Quit
Impressao = True
End With
Dim x 'Isso foi add
For Each x In Printers 'Isso foi add
If ImpInicial = x.DeviceName Then
If Printer.DeviceName <> x.DeviceName Then Set Printer = x
Exit For
End If
Next
Exit Sub
erro:
Impressao = False
MsgBox "Erro no Processo de Relatório" & vbCrLf & _
" Descrição do erro: " & Err.Description, vbExclamation, prod
End Sub
MJAC Valeu pela ajuda grato mesmo...[S67][S67][S71][S71][S71][S71][S71][S71][S71][S71][S71]
Tópico encerrado , respostas não são mais permitidas