Ir para conteúdo
Fórum Script Brasil
  • 0

Realmente Preciso De Ajuda !urgente...


Jcezario

Pergunta

E ai Galera,

Sou novo no forum, e em VB, e logo de cara estou com um problema que parece ser fácil mas na verdade não consigo resolver o problema.

E seguinte estou enviando apenas o trecho do programa que faz este gerenciamento. O funcionamento é pegar o arquivo de uma pasta qualquer no micro mover para uma outra pasta por exemplo local ou rede, tanto faz, e também enviar um e-mail com este arquivo anexo para uma pessoa. O programa está fazendo tudo bonitinho mas o único problema é que não está anexando o arquivo....é só isso o problema...mas sinceramente não estou conseguindo resolver.

Public Sub SendMail()

    On Error GoTo error_SendMail
    
    Dim n, i, j As Long
    Dim intPos As Long
    Dim objFSO As New FileSystemObject

    If (objOLMailItem Is Nothing) Then
        '
    Else
        objOLMailItem.Subject = frmServicoGerenciamento.strAssunto
        objOLMailItem.To = frmServicoGerenciamento.strEmail
        objOLMailItem.Body = ""
        If (frmServicoGerenciamento.strIDCliente = "MED") And (frmServicoGerenciamento.strArquivoSai = "*.*") Then
           For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
               objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & "  ,  "
               j = j + 1
               If (j = 8) Then
                  objOLMailItem.Body = objOLMailItem.Body & vbCrLf
                  j = 0
               End If
           Next
           objOLMailItem.Body = objOLMailItem.Body & vbCrLf
        ElseIf (frmServicoGerenciamento.strIDCliente = "APA") Then
           For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
               objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & "  ,  "
               j = j + 1
               If (j = 8) Then
                  objOLMailItem.Body = objOLMailItem.Body & vbCrLf
                  j = 0
               End If
           Next
           objOLMailItem.Body = objOLMailItem.Body & vbCrLf
        ElseIf (frmServicoGerenciamento.strIDCliente = "BSC") Then
           For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
               objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & "  ,  "
               j = j + 1
               If (j = 8) Then
                  objOLMailItem.Body = objOLMailItem.Body & vbCrLf
                  j = 0
               End If
           Next
           objOLMailItem.Body = objOLMailItem.Body & vbCrLf
        ElseIf (frmServicoGerenciamento.strIDCliente = "ITA") Then
            If frmServicoGerenciamento.strArquivoSai = "F*.*" Then
                
                Dim temp As String
                For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
                    ReDim CurrentFileName(i + 1)
                    IntFile = FreeFile
                    CurrentFileName(i) = frmServicoGerenciamento.File1.List(i)
                    Open frmServicoGerenciamento.strDestinoSai & "\" & CurrentFileName(i) For Binary As #IntFile
                    Get #IntFile, , vProdfile
                    
                    If Left(vProdfile.Header, 1) = "A" Or _
                       Left(vProdfile.Header, 1) = "H" Or _
                       Left(vProdfile.Header, 1) = "B" Or _
                       Left(vProdfile.Header, 1) = Chr(26) Then
                       ' CHR(26) = ""
                       
                       temp = FileDateTime(frmServicoGerenciamento.strDestinoSai & "\" & CurrentFileName(i))
                       strInfo(i) = "     " & temp
                       objOLMailItem.Body = "Arquivo     Data Chegada" & vbCrLf & vbCrLf
                    
                    Else
                        If Left(vProdfile.Header, 2) = "1S" Or _
                           Left(vProdfile.Header, 2) = "1*" Then
                        
                           temp = FileDateTime(frmServicoGerenciamento.strDestinoSai & "\" & CurrentFileName(i))
                           strInfo(i) = "    " & temp
                           objOLMailItem.Body = "Arquivo     Data Chegada" & vbCrLf & vbCrLf
                        
                        Else
                            HeaderData = CEA(Mid$(vProdfile.Header, 1, 16))
                            FileManag (CurrentFileName(i))
                            
                            temp = FileDateTime(frmServicoGerenciamento.strDestinoSai & "\" & CurrentFileName(i))
                            strInfo(i) = infoStatus & "   " & temp
                            objOLMailItem.Body = "Arquivo     Modelo   Qtde Reg.    Data Chegada" & vbCrLf & vbCrLf
                            
                        End If
                    End If
                    Close #IntFile
                Next i
                
                For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
                    objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & strInfo(i) & vbCrLf
                Next
                
            Else
                For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
                    objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & vbCrLf
                Next
            End If
        Else
           For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
               objOLMailItem.Body = objOLMailItem.Body & frmServicoGerenciamento.File1.List(i) & vbCrLf
           Next
        End If
        
        objOLMailItem.Body = objOLMailItem.Body & vbCrLf & frmServicoGerenciamento.strTexto
        intPos = Len(objOLMailItem.Body) + 10
        If frmServicoGerenciamento.blnStatus Then
'            If InStr(1, frmServicoGerenciamento.strArquivoSai, "*", vbTextCompare) = 0 Then
'                 objOLMailItem.Attachments.Add frmServicoGerenciamento.strPahtAttachments, olByValue, Len(objOLMailItem.Body) + 10, frmServicoGerenciamento.strArquivoSai
'            Else
                If (frmServicoGerenciamento.strIDCliente = "MED") Then
                    If (frmServicoGerenciamento.strIDArquivoRec = "MED-RET") Or (frmServicoGerenciamento.strIDArquivoRec = "MED-RET-VCC") Then
                        objOLMailItem.Attachments.Add frmServicoGerenciamento.strDestinoSai & "\" & "RETORNO.ZIP"
                        objFSO.DeleteFile frmServicoGerenciamento.strDestinoSai & "\" & "RETORNO.ZIP"
                    End If
                ElseIf (frmServicoGerenciamento.strIDCliente = "APA") Then
                    If (frmServicoGerenciamento.strIDArquivoRec = "APA-JPG-SAIDA") Or (frmServicoGerenciamento.strIDArquivoRec = "APA-TXT-SAIDA") Then
                    ElseIf (frmServicoGerenciamento.strIDArquivoRec = "APA-ZIP-SAIDA") Then
                    Else
                        objOLMailItem.Attachments.Add frmServicoGerenciamento.strDestinoSai & "\" & "NAOACHOU.ZIP"
                        objFSO.DeleteFile frmServicoGerenciamento.strDestinoSai & "\" & "NAOACHOU.ZIP"
                    End If
                ElseIf (frmServicoGerenciamento.strIDCliente = "BDB") Then
                    If (frmServicoGerenciamento.strIDArquivoRec = "BDB-RET-SAIDA-SAIDA") Then
                    Else
                        For n = 0 To frmServicoGerenciamento.File1.ListCount - 1
                            objOLMailItem.Attachments.Add frmServicoGerenciamento.strDestinoSai & "\" & Trim(frmServicoGerenciamento.File1.List(n)), olByValue, intPos, Trim(frmServicoGerenciamento.File1.List(n))
                            'enviou o(s) arquivo(s) deleta-los
                            'objFSO.DeleteFile frmServicoGerenciamento.strDestinoSai & "\" & Trim(frmServicoGerenciamento.File2.List(n))
                            intPos = intPos + 10
                        Next
                    End If
                ElseIf (frmServicoGerenciamento.strIDCliente = "SPT") Then
                    For i = 0 To frmServicoGerenciamento.File1.ListCount - 1
                        objOLMailItem.Attachments.Add frmServicoGerenciamento.strDestinoSai & "\" & Trim(frmServicoGerenciamento.File1.List(i)), olByValue, intPos, Trim(frmServicoGerenciamento.File1.List(i))
                        intPos = intPos + 10
                    Next
                    
                'ElseIf (frmServicoGerenciamento.strIDCliente = "SPT") Then
                '    objOLMailItem.Attachments.Add frmServicoGerenciamento.strMoverSai & "\" & "Spt_Retorno.zip"
                      'enviou o(s) arquivo(s) deleta-los
                '    objFSO.DeleteFile frmServicoGerenciamento.strMoverSai & "\" & "Spt_Retorno.zip"
                ElseIf (frmServicoGerenciamento.strIDCliente = "VVC") Or (frmServicoGerenciamento.strIDCliente = "VVT") Then
                Else
                   For n = 0 To frmServicoGerenciamento.File1.ListCount - 1
                      objOLMailItem.Attachments.Add frmServicoGerenciamento.strDestinoSai & "\" & Trim(frmServicoGerenciamento.File1.List(n)), olByValue, intPos, Trim(frmServicoGerenciamento.File1.List(n))
                      'enviou o(s) arquivo(s) deleta-los
                      'objFSO.DeleteFile frmServicoGerenciamento.strDestinoSai & "\" & Trim(frmServicoGerenciamento.File2.List(n))
                      intPos = intPos + 10
                   Next
                End If
            'End If
        End If
        objOLMailItem.Save
        objOLMailItem.Send
    End If

    Exit Sub

error_SendMail:
    MsgBox Err.Description, vbCritical, "Class Module clsOutlook - SendMail"
End Sub

ps... Já testei o Outlook e não está com problemas para enviar e-mail´s com arquivos anexos.

Pessoal agradeço a todos desde de já... Navaguei um pouco no site, é já percebi de cara que é excelente.

Valeu ...jcezario

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O que é um "objOLMailItem"? Nesse trecho do código não há referência de sua criação.

Todavia, que tal experimentar o componente Py.Sendmail: http://www.graymalkin.globalhosts.com.br/pysendmail.asp. Ele é fácil de utilizar (com menos de 10 linhas de código você cria um e-mail completo e com anexo) e acompanha um exemplo em VB.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...