WD2002: Macro de exemplo lista todos os ficheiros numa pasta

Traduções de Artigos Traduções de Artigos
Artigo: 306248 - Ver produtos para os quais este artigo se aplica.
Para obter uma versão de Microsoft Word 2000 deste artigo, consulte 236162.
Expandir tudo | Reduzir tudo

Sumário

Este artigo contém uma exemplo do Microsoft Visual Basic for Applications macro que pode utilizar para criar uma lista de todos os ficheiros numa pasta especificada. A macro devolve as seguintes informações para um novo documento do Word:
  • O nome da pasta para os ficheiros listados
  • Nomes de ficheiros encontrados
  • Os tamanhos dos ficheiros dos ficheiros encontrados
  • As datas e horas dos ficheiros encontrados
  • O número total de ficheiros listados
A macro cria uma lista dos ficheiros semelhante ao exemplo seguinte:
   File Listing of the C:\MY DOCUMENTS folder!

   File Name                       File Size       File Date/Time
   ----------------------------------------------------------------------

   Background.doc                  1461            2/24/99 2:16:52 PM
   Backup of Background.wbk        1461            2/24/99 2:14:10 PM
   Book1.xls                       15360           6/15/99 3:07:42 PM
   Book2.xls                       13824           11/12/98 4:28:50 PM
   Book3.xls                       13824           11/24/98 9:38:32 AM

   Total files in folder = 5 files.
				

Mais Informação

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. A macro de exemplo seguinte apresenta ou imprime o nome do ficheiro, o tamanho do ficheiro e a data e hora de todos os ficheiros localizados na pasta especificada:
Sub FolderList()
'
' Example Macro to list the files contained in a folder.
'

   Dim x As String, MyName As String
   Dim i As Integer
   Dim Response As Integer, TotalFiles As Integer

   On Error Resume Next

Folder:

   ' Prompt the user for the folder to list.
   x = InputBox(Prompt:="What folder do you want to list?" & vbCr & vbCr _
         & "For example: C:\My Documents", _
         Default:=Options.DefaultFilePath(wdDocumentsPath))

   If x = "" Or x = " " Then
      If MsgBox("Either you did not type a folder name correctly" _
            & vbCr & "or you clicked Cancel. Do you want to quit?" _
            & vbCr & vbCr & _
            "If you want to type a folder name, click No." & vbCr & _
            "If you want to quit, click Yes.", vbYesNo) = vbYes Then
         Exit Sub
      Else
         GoTo Folder
      End If
   End If

   ' Test if folder exists.
   If Dir(x, vbDirectory) = "" Then
      MsgBox "The folder does not exist. Please try again."
      GoTo Folder
   End If

   ' Search the specified folder for files
   ' and type the listing in the document.
   With Application.FileSearch
      .NewSearch
      .FileType = msoFileTypeOfficeFiles
      ' Change the .FileType to the type of files you are looking for;
      ' for example, the following line finds all files:
      ' .FileType = msoFileTypeAllFiles
      .LookIn = x
      .Execute
      TotalFiles = .FoundFiles.Count
      If TotalFiles = 0 Then
         MsgBox ("There are no files in the folder!" & _
               "Please type another folder to list.")
         GoTo Folder
      End If

      ' Create a new document for the file listing.
      Application.Documents.Add
      ActiveDocument.ActiveWindow.View = wdPrintView

      ' Set tabs.
      With Selection.ParagraphFormat.TabStops
         .Add _
               Position:=InchesToPoints(3), _
               Alignment:=wdAlignTabLeft, _
               Leader:=wdTabLeaderSpaces
         .Add _
               Position:=InchesToPoints(4), _
               Alignment:=wdAlignTabLeft, _
               Leader:=wdTabLeaderSpaces
      End With

      ' Type the file list headings.
      Selection.TypeText "File Listing of the "

      With Selection.Font
         .AllCaps = True
         .Bold = True
      End With
      Selection.TypeText x
      With Selection.Font
         .AllCaps = False
         .Bold = False
      End With
      Selection.TypeText " folder!" & vbLf
      Selection.Font.Underline = wdUnderlineSingle
      Selection.TypeText vbLf & "File Name" & vbTab & "File Size" _
            & vbTab & "File Date/Time" & vbLf & vbLf
      Selection.Font.Underline = wdUnderlineNone
      For i = 1 To TotalFiles
         MyName = .FoundFiles(i)
         Selection.TypeText MyName & vbTab & FileLen(MyName) _
               & vbTab & FileDateTime(MyName) & vbLf
      Next i

      ' Type the total number of files found.
      Selection.TypeText vbLf & "Total files in folder = " & TotalFiles & _
            " files."
   End With

   If MsgBox("Do you want to print this folder list?", vbYesNo)=vbYes Then
      Application.ActiveDocument.PrintOut
   End If

   If MsgBox("Do you want to list another folder?", vbYesNo)=vbYes Then
      GoTo Folder
   End If

End Sub
				

Referências

Para mais informações sobre como utilizar o código de exemplo neste artigo, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
290140OFFXP: Como executar códigos de exemplo a partir de artigos da base de dados de conhecimento da Microsoft
Para obter informações adicionais sobre como obter ajuda com forApplications do Visual Basic, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
305326OFFXP: Programming recursos para o Visual Basic for Applications

Propriedades

Artigo: 306248 - Última revisão: 11 de outubro de 2006 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft Word 2002 Standard Edition
Palavras-chave: 
kbmt kbhowto kbmacroexample kbprogramming KB306248 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306248

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com