Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

VBA Access - Comandos do MS DOS no VBA - Microsoft DOS Commands in VBA 🔥Atualizado em 07Jan2025

VBA Access - Comandos do MS DOS no VBA - Microsoft DOS Commands in VBA

#ProgramaçãoGlobal #VBA #DOS #Office365 #Command


 Outros Comandos MS DOS no VBA: 

Utilizar comando DOS no VBA é possível e em alguns casos até mais rápidos para resolverem prontamente uma necessidade que tenhamos.


Antes de continuar, um pequeno parênteses, deixe seus comentários para este post. 


Checando a presença de um arquivo texto e abrindo-o na pasta onde se encontra com o editor de texto Notepad.exe


Public Function OpenTextFile()
Dim txtFilePath As String
Dim NotePad As String

   txtFilePath = "C:\msaccesstips\htaccess.txt"
   NotePad = "C:\Windows\System32\Notepad.exe"

If Dir(txtFilePath, vbNormal) = "htaccess.txt" Then
   Call Shell(NotePad & " " & txtFilePath, vbNormalFocus)
Else
   MsgBox "File: " & txtFilePath & vbcr & "Not Found...!"
End If

End Function

 


✅ Código Otimizado com Melhorias Sugeridas:

Public Function OpenTextFile()

    Dim txtFilePath As String

    Dim NotePad As String


    txtFilePath = "C:\msaccesstips\htaccess.txt"

    NotePad = Environ("SystemRoot") & "\System32\Notepad.exe"


    If Dir(txtFilePath) <> "" Then

        Call Shell(NotePad & " """ & txtFilePath & """", vbNormalFocus)

    Else

        MsgBox "File: " & txtFilePath & vbCrLf & "Not Found...!"

    End If

End Function

🧪 Testes recomendados:

  1. Teste com o arquivo existente.
  2. Teste com o arquivo inexistente.
  3. Teste com um caminho de arquivo que contenha espaços.
  4. Teste em diferentes versões do Windows.

 


Efetuando a cópia de um arquivo com o comando FileCopy().

Public Function CopyTextFile()
Dim SourcefilePath As String
Dim TargetFilePath As String

   SourcefilePath = "C:\msaccesstips\htaccess.txt"
   TargetFilePath = "C:\New Folder\htaccess.txt"

If Dir(SourcefilePath, vbNormal) = "htaccess.txt" Then
   FileCopy SourcefilePath, TargetFilePath
   MsgBox "File copy complete."
   
Else
   MsgBox "File Not Found...!"
End If

End Function

 


Código Otimizado com Melhorias Sugeridas:


Public Function CopyTextFile()

    Dim SourcefilePath As String

    Dim TargetFilePath As String


    SourcefilePath = "C:\msaccesstips\htaccess.txt"

    TargetFilePath = "C:\New Folder\htaccess.txt"


    ' Verifica se o arquivo de origem existe

    If Dir(SourcefilePath) <> "" Then

        ' Cria a pasta de destino, se não existir

        If Dir("C:\New Folder", vbDirectory) = "" Then

            MkDir "C:\New Folder"

        End If


        ' Copia o arquivo

        FileCopy SourcefilePath, TargetFilePath

        MsgBox "File copy complete."

    Else

        MsgBox "File: " & SourcefilePath & vbCrLf & "Not Found!"

    End If

End Function

 

🧪 Testes Recomendados:

  1. Teste com a pasta de destino existente.
  2. Teste sem a pasta de destino.
  3. Teste com o arquivo de origem presente.
  4. Teste com o arquivo de origem ausente.

 



Encontrando e Deletando um arquivo em uma localização específica do disco rígido.

Public Function DeleteFile()
Dim FilePath As String, msgtxt As String

   FilePath = "C:\Bernardes\htaccess.txt"

If Dir(FilePath, vbNormal) = "htaccess.txt" Then
   msgtxt = "Delete File: " & FilePath & vbCr & vbCr
   msgtxt = msgtxt & "Proceed...?"

   If MsgBox(msgtxt, vbYesNo + vbDefaultButton2 + vbQuestion, "DeleteFile()") = vbNo Then
      Exit Function
   End If

   Kill FilePath

   MsgBox "File: " & FilePath & vbCr & "Deleted from Disk."
   
Else
   MsgBox "File: " & FilePath & vbCr & "Not Found...!"
End If

End Function

 


✅ Código Otimizado com Melhorias Sugeridas:

Public Function DeleteFile()

    Dim FilePath As String, msgtxt As String


    FilePath = "C:\Bernardes\htaccess.txt"


    If Dir(FilePath) <> "" Then

        msgtxt = "Delete File: " & FilePath & vbCr & vbCr

        msgtxt = msgtxt & "Proceed...?"


        If MsgBox(msgtxt, vbYesNo + vbDefaultButton2 + vbQuestion, "DeleteFile()") = vbNo Then

            Exit Function

        End If


        On Error Resume Next

        Kill FilePath

        If Err.Number <> 0 Then

            MsgBox "Erro ao deletar o arquivo: " & Err.Description

            Exit Function

        End If

        On Error GoTo 0


        MsgBox "File: " & FilePath & vbCr & "Deleted from Disk."

    Else

        MsgBox "File: " & FilePath & vbCr & "Not Found...!"

    End If

End Function

🧪 Testes recomendados:

  • Teste com o arquivo existente e com permissão de exclusão.
  • Teste com o arquivo inexistente.
  • Teste com o arquivo protegido contra gravação.
  • Teste com o arquivo aberto por outro programa

 

Tags: VBA, Microsoft, Office, DOS, D.O.S., command,

 Série Donut Project 
DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 Clique nas capas abaixo e compre também: 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)


Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel (Série Top 10 Funções - Microsoft Excel)


eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes

eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes

eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes



 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com
Inline image 1

Nenhum comentário:

Postar um comentário

diHITT - Notícias