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 Twitter
Referências: