 Visual Basic 6 - Enviando
anexos com o Outlook Express
 
Visual Basic 6 - Enviando
anexos com o Outlook Express
Se você possui o OutLook Express instalado pode usar o Visual Basic 6 para enviar emails com anexos usando o Outlook. Acompanhe...
Inicie um novo projeto no VB6 e no formulário padrão insira dois TextBox , dois CommandButton e um controle CommonDialog conforme o layout abaixo:
|  | 
A seguir no formulário inclua o código abaixo onde definimos as funções das APIs que vamos usar:
| 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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long | 
Agora no evento click do botão cmdAnexo digite o código abaixo. Ele apenas abre a janela de diálogo Open File do commondialog e exibe o nome do arquivo anexo que você deseja enviar na caixa de texto.
| Private Sub
        cmdanexo_Click() On Error Resume Next 'define o tratamento de erros cmdlgAnexo.CancelError = True cmdlgAnexo.ShowOpen If Err.Number = cdlCancel Then MsgBox "Você não selecionou nenhum arquivo para anexar a mensagem ! " Err.Clear Else txtanexo.Text = cmdlgAnexo.FileName End If On Error GoTo 0 ' desabilita tratamento de erros End Sub | 
No evento click do botão - Anexar arquivos via Outlook Express - o código abaixo chama o Outlook via comando Shell
| Private Sub
        Command1_Click() Dim arq_anexo As String Dim assunto As String Dim Ret As Long assunto = txtassunto.Text arq_anexo = txtanexo.Text 'inicia o outlook ShellExecute Me.hWnd, "Open", "mailto:macoratti@ig.com.br?subject=" & arq_anexo & "&body=" & assunto, _ vbNullString, vbNullString, vbNormalFocus ' espera ate que o Outlook Express esteja pronto While Ret = 0 DoEvents Ret = FindWindow(vbNullString, arq_anexo) Wend ' envia comandos Alt-I-A,o nome do arquivo, ' dois TABs, e Enter. SendKeys "%ia" & arq_anexo & "{TAB}{TAB}{ENTER}" End Sub | 
Agora execute o projeto , selecione o arquivo e clique no botão que vai abrir o Outlook conforme mostrado abaixo.
|  | 
Você pode usar a função InternetGetConnectedState abaixo para verificar se você esta conectado.
Esta função retorna 1 se a conexão existe e zero se não existir conexão. Os parâmetros dwflags irão indicar o tipo de conexão.
No formulário declare a função e as variáveis conforme abaixo:
| Private Declare 
		Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long, 
		_ ByVal dwReserved As Long) As Long 
		Private Const CONNECT_LAN As Long = &H2 | 
| Public Function 
		IsWebConnected(Optional ByRef ConnType As String) As Boolean Dim dwflags As Long Dim WebTest As Boolean ConnType = "" WebTest = InternetGetConnectedState(dwflags, 0&) Select Case WebTest Case dwflags And CONNECT_LAN: ConnType = "LAN" Case dwflags And CONNECT_MODEM: ConnType = "Modem" Case dwflags And CONNECT_PROXY: ConnType = "Proxy" Case dwflags And CONNECT_OFFLINE: ConnType = "Offline" Case dwflags And CONNECT_CONFIGURED: ConnType = "Configured" Case dwflags And CONNECT_RAS: ConnType = "Remote" End Select IsWebConnected = WebTest End Function | 
Ainda no formulário defina a função IsWebConnected
| Public Function 
		IsWebConnected(Optional ByRef ConnType As String) As Boolean Dim dwflags As Long Dim WebTest As Boolean ConnType = "" WebTest = InternetGetConnectedState(dwflags, 0&) Select Case WebTest Case dwflags And CONNECT_LAN: ConnType = "LAN" Case dwflags And CONNECT_MODEM: ConnType = "Modem" Case dwflags And CONNECT_PROXY: ConnType = "Proxy" Case dwflags And CONNECT_OFFLINE: ConnType = "Offline" Case dwflags And CONNECT_CONFIGURED: ConnType = "Configured" Case dwflags And CONNECT_RAS: ConnType = "Remote" End Select IsWebConnected = WebTest End Function | 
Para chamar a função você pode colocar o código abaixo no evento Load do formulário
| Dim msg As String If IsWebConnected(msg) Then msg = "Voce esta conectado a internet via: " & msg Else msg = "Voce não esta conectado a internet." End If MsgBox msg, vbOKOnly, "Internet" | 
Até o próximo artigo...
 
| Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 | 
             Gostou ?
  Compartilhe no Facebook
Compartilhe no Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter
 
Referências: