[resolvido] Erro ao afetuar procedimento

Moderador: Avelino Sampaio

Avatar do usuário
José Waldick
Mensagens: 269
Registrado em: 08 Mar 2016, 19:39

[resolvido] Erro ao afetuar procedimento

Mensagempor José Waldick » 30 Jan 2018, 16:22

Ao executar o seguinte código, o aplicativo retorna o seguinte erro na linha 'Dim fDialog As Office.FileDialog'

Código: Selecionar todos

Private Sub cmdanexos_Click()

On Error GoTo TErro
   
   Dim fDialog As Office.FileDialog
   Dim varFile As Variant
   Dim varPath As Variant
   Dim varPath2 As String
   

   Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

   With fDialog

      .InitialFileName = CurrentProject.Path
      .AllowMultiSelect = True
      .Title = "Anexar arquivo"
      .Filters.Clear
      .Filters.Add "Imagens", "*.bmp;*.gif;*.ico;*.jpg;*.jpeg;*.png;*.tiff"
      .Filters.Add "Excel", "*.xls;*.xlsx"
      .Filters.Add "PowerPoint", "*.ppt;*.pptx;*.pps;*.ppsx"
      .Filters.Add "Word", "*.doc;*.docx"
      .Filters.Add "Todos os arquivos", "*.*"
      .ButtonName = "Abrir arquivo(s)"

      If .Show = True Then
         For Each varFile In .SelectedItems
           
            varPath = Split(varFile, "\")
            For i = 0 To UBound(varPath)
               varPath2 = varPath(i)
            Next i

            Me.lstAnexos.AddItem varFile & ";" & varPath2
         Next

      Else
         Exit Sub
      End If
   End With
   
'O bloco abaixo ajusta a altura da listbox de acordo o número de linhas.
' Caso tenha menos de 15 anexos, a list se ajusta ao número de linhas
' Caso tenha de 15 a mais, fica com altura fixa equivalente à altura de 14 linhas.
   
    If Me.lstAnexos.ListCount > 4 Then
        Me.lstAnexos.Height = 275 * 4
    ElseIf Me.lstAnexos.ListCount <= 4 Then
        Me.lstAnexos.Height = Me.lstAnexos.ListCount * 275
    Else
    End If
   
' O bloco abaixo torna a list e controles associados visíveis quando ouverem anexos e
' os torna invisíveis quando não ouver anda para exibir.

If Me.lstAnexos.ListCount > 0 Then
    Me.lstAnexos.Visible = True
    'Me.lblPreVis.Visible = True
    'Me.ctlImagem.Visible = True
Else
    Me.lstAnexos.Visible = False
    'Me.lblPreVis.Visible = False
    'Me.ctlImagem.Visible = False
End If

' O bloco abaixo faz um tratamento de erro

TErro:
If Err.Number = 5 Then
    DoCmd.CancelEvent
    Resume Next
End If

End Sub
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.
Deus é bom e fiel!

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1858
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Erro ao afetuar procedimento

Mensagempor Avelino Sampaio » 30 Jan 2018, 17:29

José,

abra o VBA > no menu Ferramentas > Referências > marque "Microsoft Office 16.0 Object Library"

Se estiver usando o Access 2013, use o "Microsoft Office 15.0 Object Library"

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Avatar do usuário
José Waldick
Mensagens: 269
Registrado em: 08 Mar 2016, 19:39

Re: Erro ao afetuar procedimento

Mensagempor José Waldick » 30 Jan 2018, 19:13

Funcionou perfeitamente, mais uma vez muito obrigado!
Deus é bom e fiel!

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Formulários”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante