bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Fazer Upload de Arquivo para Pasta

Fazer Upload de Arquivo para Pasta

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Usuário Arboit :

Olá, amigo!

Tenho uma rotina que importa arquivos PDF para uma pasta específica. Até aí tudo bem, pois está funcionando corretamente. O que desejo é que antes de fazer a importação, o sistema me informe se já existe o arquivo armazenado lá ou não, e se quero sobrescrevê-lo ou não.

O código VBA que estou usando é esse:

Private Sub btnSelecionar_Click()
Const strDestination = "C:\SistemaAccess\tags\" 'Local onde ficam armazenados os arquivos
Dim varFilename As Variant
Dim lngPos As Long
  
With Application.FileDialog(1) ' 1 = msoFileDialogOpen
  .AllowMultiSelect = True
  .Filters.Clear
  .Filters.Add "Arquivos PDF", "*.pdf"
  If .Show Then
     For Each varFilename In .SelectedItems
        lngPos = InStrRev(varFilename, "\")
        DoCmd.Hourglass True
        FileCopy varFilename, strDestination & Mid(varFilename, lngPos + 1)
        MsgBox "Importado com Sucesso...", vbInformation, "Upload"
      Next varFilename
  End If
End With
DoCmd.Hourglass False
Call fncListaTags 'Função que lista os arquivos em uma caixa de listagem
End Sub

Tentei adaptar algumas rotinas, mas nenhuma deu certo. Se puder me ajudar, agradeço.

Suporte:

Arboit, experimente usar a função Dir() do Access para detectar o arquivo na pasta.  Atente para parte em vermelho, no código.

Private Sub btnSelecionar_Click()
Const strDestination = "C:\SistemaAccess\tags\" 'Local onde ficam armazenados os arquivos
Dim varFilename As Variant
Dim lngPos As Long
  
With Application.FileDialog(1) ' 1 = msoFileDialogOpen
  .AllowMultiSelect = True
  .Filters.Clear
  .Filters.Add "Arquivos PDF", "*.pdf"
  If .Show Then
     For Each varFilename In .SelectedItems
        lngPos = InStrRev(varFilename, "\")
        DoCmd.Hourglass True
        'Verifica se o arquivo já se encontra na pasta
        if len(dir(strDestination & Mid(varFilename, lngPos + 1))) > 0 then
           'Abre a mensagem, dando a opção se deseja substituí-lo
           if msgbox("Arquivo já existe.  Deseja substituir ?, _ 
              vbYesNo + vbQuestion ,"Confirmação") = vbYes then
              FileCopy varFilename, strDestination & Mid(varFilename, lngPos + 1)
              MsgBox "Importado com Sucesso...", vbInformation, "Upload"
           end if
        else
           FileCopy varFilename, strDestination & Mid(varFilename, lngPos + 1)
           MsgBox "Importado com Sucesso", vbInformation, "Upload"
        end if
      Next varFilename 
  End If
End With
DoCmd.Hourglass False
Call fncListaTags 'Função que lista os arquivos em uma caixa de listagem
End Sub

Usuário Arboit :

Como sempre, problema resolvido! Muito obrigado novamente.

 


 

 


Não há comentário

Envie seu comentário: