Gente,
Consegui resolver sozinho.
Como não sou egoista ficou dessa forma.
Um modulo que ficou a função para pegar o caminho do arquivo a ser movido.
Option Compare Database
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Function LaunchCD(strform As Form) As String
Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim sFilter As String
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner = strform.Hwnd
sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _
"JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0)
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = String(257, 0)
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = "C:\"
OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL"
OpenFile.flags = 0
lReturn = GetOpenFileName(OpenFile)
If Not lReturn = 0 Then
LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1))
Else
MsgBox "Voce não selecionou nenhum arquivo!", vbInformation, _
"UpLoad Cancelado"
End If
End Function
Depois a função na função ao clicar do Botão
Private Sub anexoBTN_Click()
Dim Destino As String
Dim Arquivo As String
Dim fso As Object
'habilite a referencia Microsoft Scripting Runtime
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.folderexists("\\10.100.1.15\financeiro_lfg\contasreceber\RESTITUIÇÃO\Banco de Dados\ANEXOS\" & Replace(Me.IDPGOTXTT, "/", "")) Then ' verifica se já existe a pasta
If MsgBox("A pasta já existe, adicionar arquivos?", vbOKCancel + vbCritical, "Pasta") = vbOK Then
' se responder Ok, abre a caixa de dialogo
'Irá abrir a caixa de diálogo
Arquivo = LaunchCD(Me)
Destino = "\\10.100.1.15\financeiro_lfg\contasreceber\RESTITUIÇÃO\Banco de Dados\ANEXOS\" & Replace(Me.IDPGOTXTT, "/", "") & "/" & Mid(Arquivo, InStrRev(Arquivo, "\") + 1)
'Copia o arquivo para uma pasta mapeada no servidor
On Error GoTo Erro
FileCopy Arquivo, Destino
Else
Exit Sub
End If
Else
If MsgBox("Você deseja criar uma pasta para adicionar arquivos?", vbOKCancel + vbCritical, "Pasta") = vbOK Then
MkDir ("\\10.100.1.15\financeiro_lfg\contasreceber\RESTITUIÇÃO\Banco de Dados\ANEXOS\" & Replace(Me.IDPGOTXTT, "/", "")) ' se não existir cria"
'Irá abrir a caixa de diálogo
Arquivo = LaunchCD(Me)
Destino = "\\10.100.1.15\financeiro_lfg\contasreceber\RESTITUIÇÃO\Banco de Dados\ANEXOS\" & Replace(Me.IDPGOTXTT, "/", "") & "/" & Mid(Arquivo, InStrRev(Arquivo, "\") + 1) 'Pega apenas o nome do arquivo
'Copia o arquivo para uma pasta mapeada no servidor
On Error GoTo Erro
FileCopy Arquivo, Destino
End If
End If
Application.FollowHyperlink ("\\10.100.1.15\financeiro_lfg\contasreceber\RESTITUIÇÃO\Banco de Dados\ANEXOS\" & Replace(Me.IDPGOTXTT, "/", ""))
Erro:
DoCmd.CancelEvent
End Sub
Deu certinho obrigado.