Bom dia amigos. Utilizo o formulário CDO de envio de email que baixei no forum, e gosto muito. Nunca utilizei a opção de anexar arquivos e agora que fui utilizar está dando o seguinte erro na função:
Dim fDialog As Office.FileDialog
ABRE UMA CAIXA DE DIÁLOGO COM O ERRO
"Tipo de finido pelo usuário não foi definido"
A Função completa é a seguinte:
Dim i
On Error GoTo TErro
Dim fDialog As Office.FileDialog, varFile As Variant, varPath As Variant, 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 > 14 Then
Me.lstAnexos.Height = 275 * 14
ElseIf Me.lstAnexos.ListCount <= 14 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
Else
Me.lstAnexos.Visible = False
End If
' O bloco abaixo faz um tratamento de erro
TErro:
If err.Number = 5 Then
DoCmd.CancelEvent
Resume Next
End If
Alguem pode me ajudar? Se é um DLL faltando, ou se é algum ajuste no comando?
Dim fDialog As Office.FileDialog
ABRE UMA CAIXA DE DIÁLOGO COM O ERRO
"Tipo de finido pelo usuário não foi definido"
A Função completa é a seguinte:
Dim i
On Error GoTo TErro
Dim fDialog As Office.FileDialog, varFile As Variant, varPath As Variant, 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 > 14 Then
Me.lstAnexos.Height = 275 * 14
ElseIf Me.lstAnexos.ListCount <= 14 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
Else
Me.lstAnexos.Visible = False
End If
' O bloco abaixo faz um tratamento de erro
TErro:
If err.Number = 5 Then
DoCmd.CancelEvent
Resume Next
End If
Alguem pode me ajudar? Se é um DLL faltando, ou se é algum ajuste no comando?