Peguei num código aqui do forum do JPaulo para a criação de pastas e adaptei ao meu código, ficando assim,
No entanto dá o seguinte erro,
ActiveX component can´t create object
na linha
Set fso = CreateObject("caminho" & Me.Incidente.Value)
- Código:
Private Sub Rótulo50_Click()
Dim f As Object
Dim varFile As Variant
Dim db As Database
Dim tb As Recordset
Dim name As String
Dim fso As Object
Dim caminho As String
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
f.Filters.Clear
f.Filters.Add "Ficheiros PDF", "*.pdf"
f.Filters.Add "Ficheiros Excel", "*.xlsx"
f.Filters.Add "Ficheiros Excel 2003", "*.xls"
f.Filters.Add "Ficheiros Word", "*.docx"
f.Filters.Add "Ficheiros Word 2003", "*.doc"
f.Filters.Add "All Files", "*.*"
caminho = CurrentProject.Path & " \ Files \ "
Set db = CurrentDb
Set tb = db.OpenRecordset("AnexosAvarias")
Set fso = CreateObject("caminho" & Me.Incidente.Value)
If f.Show = True Then
For Each varFile In f.SelectedItems
name = Mid(varFile, 1 + InStrRev(varFile, "\"))
If fso.FolderExists("caminho" & Me.Incidente.Value) Then
If DCount("*", "AnexosAvarias", "Nome='" & name & "'") > 0 Then
MsgBox "O Ficheiro já existe!", vbExclamation
Else
FileCopy varFile, "caminho" & Me.Incidente.Value & name
tb.AddNew
tb!Nome = name
tb!Incidente = Me.Incidente.Value
tb.Update
End If
Else
MkDir "caminho" & Me.Incidente.Value
If DCount("*", "AnexosAvarias", "Nome='" & name & "'") > 0 Then
MsgBox "O Ficheiro já existe!", vbExclamation
Else
FileCopy varFile, "caminho" & Me.Incidente.Value & name
tb.AddNew
tb!Nome = name
tb!Incidente = Me.Incidente.Value
tb.Update
End If
End If
Next
tb.Close
Set db = Nothing
End If
Me.Refresh
End Sub
No entanto dá o seguinte erro,
ActiveX component can´t create object
na linha
Set fso = CreateObject("caminho" & Me.Incidente.Value)