Notifications
Clear all

CheckBox em ListView

3 Posts
2 Usuários
0 Reactions
1,048 Visualizações
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Olá amigos de fórum,

Possuo um ListView com CheckBox onde ele executa uma ação apenas para os itens marcados exibindo uma msgbox no fim confirmando o procedimento. Até ai tudo bem. Meu código faz isso.
Caso o usuário não marque nada, ele não executa a ação, porém, não consigo exibir uma msgbox dizendo que o usuário não selecionou nenhum item.

    For X = 1 To ListView_Filtro.ListItems.Count
        If ListView_Filtro.ListItems(X).Checked = True Then
            Set OutApp = CreateObject("Outlook.Application")
            Set OutMail = OutApp.CreateItem(0)
    
            StrBody = "Senhor(a)," & vbCrLf & vbCrLf & _
            "Seguem anexos o demonstrativo de consumo da linha telefônica móvel utilizada por V.Sa., no período de 25/" & Mes - 1 & "/" & Ano & _
            " a 24/" & Mes & "/" & Ano & ", e a CI de notificação, para ciência e providências pertinentes." & vbCrLf & vbCrLf & _
            "Atenciosamente," & vbCrLf & vbCrLf & _
            "Eliseu de Oliveira Porto" & vbCrLf & _
            "Assistente - DPSE/DGAF"
    
            On Error Resume Next
    
            With OutMail
                .To = ListView_Filtro.ListItems(X).ListSubItems(3)
                .cc = ""
                .BCC = ""
                .Subject = "DETALHAMENTO.TIM/DPSE/DGAF"
                .Body = StrBody
                .Attachments.Add (ListView_Filtro.ListItems(X).ListSubItems(8))
                .Attachments.Add (ListView_Filtro.ListItems(X).ListSubItems(9))
                .Save   'or use .Display or use .Send
            End With
    
            On Error GoTo 0
    
            Set OutMail = Nothing
            Set OutApp = Nothing
        End If
    Next
    
    MsgBox "Emails salvos nos seus racunhos do Outlook com sucesso." & vbCrLf & vbCrLf & _
    "Abra o Outlook e execute a Macro para concluir o envio dos emails.", vbInformation, "CONFIRMAÇÃO"

Ou seja, preciso de uma rotina nesse código que verifique se nenhum CheckBox (linha) foi selecionado. Informando ao usuário o mesmo.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 16/09/2014 11:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se é isto :

    Dim iRow As Integer
    Dim iTT_Itens

    iTT_Itens = ListView_Filtro.ListItems.Count
    
    For X = 1 To ListView_Filtro.ListItems.Count
        
        If ListView_Filtro.ListItems(X).Checked = True Then
            Set OutApp = CreateObject("Outlook.Application")
            Set OutMail = OutApp.CreateItem(0)
       
            StrBody = "Senhor(a)," & vbCrLf & vbCrLf & _
            "Seguem anexos o demonstrativo de consumo da linha telefônica móvel utilizada por V.Sa., no período de 25/" & Mes - 1 & "/" & Ano & _
            " a 24/" & Mes & "/" & Ano & ", e a CI de notificação, para ciência e providências pertinentes." & vbCrLf & vbCrLf & _
            "Atenciosamente," & vbCrLf & vbCrLf & _
            "Eliseu de Oliveira Porto" & vbCrLf & _
            "Assistente - DPSE/DGAF"
       
            On Error Resume Next
       
                With OutMail
                    .To = ListView_Filtro.ListItems(X).ListSubItems(3)
                    .cc = ""
                    .BCC = ""
                    .Subject = "DETALHAMENTO.TIM/DPSE/DGAF"
                    .Body = StrBody
                    .Attachments.Add (ListView_Filtro.ListItems(X).ListSubItems(8))
                    .Attachments.Add (ListView_Filtro.ListItems(X).ListSubItems(9))
                    .Save   'or use .Display or use .Send
                End With
       
             On Error GoTo 0
        
             Set OutMail = Nothing
             Set OutApp = Nothing
                         
            Else
            iRow = iRow + 1
            
            End If
            
        Next
       
    If iRow = iTT_Itens Then
        MsgBox "nehum item selecionado"
    Else
        MsgBox "Emails salvos nos seus racunhos do Outlook com sucesso." & vbCrLf & vbCrLf & _
        "Abra o Outlook e execute a Macro para concluir o envio dos emails.", vbInformation, "CONFIRMAÇÃO"
    End If

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/09/2014 1:20 pm
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Obrigado Mauro, funciono dessa forma.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 16/09/2014 1:50 pm