Eu coloquei no |Informações do Sistema e Funcionou, Bem
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetProfileString Lib "kernel32.dll" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Public Function GetDefaultPrinter() As Printer
Dim strBuffer As String * 254
Dim iRetValue As Long
Dim strDefaultPrinterInfo As String
Dim tblDefaultPrinterInfo() As String
Dim objPrinter As Printer
' pega as informacoes da impressora padrao
iRetValue = GetProfileString("windows", "device", ",,,", strBuffer, 254)
strDefaultPrinterInfo = Left(strBuffer, InStr(strBuffer, Chr(0)) - 1)
tblDefaultPrinterInfo = Split(strDefaultPrinterInfo, ",")
For Each objPrinter In Printers
If objPrinter.DeviceName = tblDefaultPrinterInfo(0) Then
' se achou a impressora padrao entao sai
Exit For
End If
Next
' se nao achou retrona nothing
If objPrinter.DeviceName <> tblDefaultPrinterInfo(0) Then
Set objPrinter = Nothing
End If
' Set GetDefaultPrinter = objPrinter
End Function
Private Sub Form_Load()
lblVersion.Caption = "Versão " & App.Major & "." & App.Minor & "." & App.Revision
With Label3(1)
.AutoSize = True
.ForeColor = vbBlue
.Font.Underline = True
.Caption = "
njnews@bol.com.br"
End With
End Sub
Private Sub GBImpriessora_Click()
Dim PaginaInicial, Paginafinal, numerodecopias, i
CommonDialog1.CancelError = True
On Error GoTo TrataErro
'mostra a janela para impressora
CommonDialog1.ShowPrinter
'Captura os valores definidos pelo usuário na janela
PaginaInicial = CommonDialog1.FromPage
Paginafinal = CommonDialog1.ToPage
numerodecopias = CommonDialog1.Copies
For i = 1 To numerodecopias
'aqui entra o seu código para imprimir
Next
Exit Sub
TrataErro:
Exit Sub
End Sub
Private Sub Label3_Click(Index As Integer)
Dim ret$
ret = ShellExecute(Me.hwnd, "Open", "
mailto:njnews@bol.com.br", "", "", 1)
Label3(1).ForeColor = vbRed
End Sub
Private Sub GBSair_Click()
Unload FrmInformacaos
End Sub