Bom dia colegas:
Estou recebendo erros relacionado ao tipo de um argumento passado para uma função.
Chamo a função Import, aparece o erro "Tipo incompatível de argumento ByRef", e no editor do VBA aparece marcada em amarelo a linha "Public Sub Import(strSourceDir As String, arrFiles() As String, strOutputDir As String, intOutputFormat As Integer)" e aparece selecionado a última variável file da linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)".
Se eu altero a linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)" para
então, ocorre o erro "Tipos incompatíveis".
Se eu verifico o tipo da variável file dentro do for each, ele retorna String, o que é compatível com o tipo exigido pelo argumento strFile em ImportFile.
Abaixo o código completo.
Estou recebendo erros relacionado ao tipo de um argumento passado para uma função.
Chamo a função Import, aparece o erro "Tipo incompatível de argumento ByRef", e no editor do VBA aparece marcada em amarelo a linha "Public Sub Import(strSourceDir As String, arrFiles() As String, strOutputDir As String, intOutputFormat As Integer)" e aparece selecionado a última variável file da linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)".
Se eu altero a linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)" para
- Código:
SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, ByVal file)
então, ocorre o erro "Tipos incompatíveis".
Se eu verifico o tipo da variável file dentro do for each, ele retorna String, o que é compatível com o tipo exigido pelo argumento strFile em ImportFile.
Abaixo o código completo.
- Código:
Public Sub Import(strSourceDir As String, arrFiles() As String, strOutputDir As String, intOutputFormat As Integer)
Dim strOutputFormat As String
SaveLog "Iniciando a conversão dos arquivos", True
SaveLog "Diretório fonte dos arquivos do PAD: " & strSourceDir, True
SaveLog "Diretório de saída dos dados: " & strOutputDir, True
Select Case intOutputFormat
Case 1
strOutputFormat = "CSV"
Case 2
strOutputFormat = "Excel"
Case 3
strOutputFormat = "Access"
End Select
SaveLog "Formato de saída dos dados: " & strOutputFormat, True
For Each files In arrFiles
SaveLog files & " selecionado para importação", True
Next
For Each file In arrFiles
SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)
Next
End Sub
Public Function ImportFile(strSourceDir As String, strFile As String)
ImportFile = True
End Function