Usar o medidor de progresso da barra de status

Este tópico mostra como usar o método SysCmd para criar um medidor de progresso na barra de status que ofereça uma representação visual do progresso de uma operação que tenha uma duração ou um número de etapas conhecido.

Há três constantes intrínsecas que podem ser usadas com o argumento action do método SysCmd para manipular o medidor de progresso da barra de status. A tabela a seguir as descreve.

Constantes intrínsecas Descrição
acSysCmdInitMeter Inicializa o medidor de progresso. O valor máximo que o processo atingirá é especificado no argumento de valor do método SysCmd.
acSysCmdUpdateMeter Atualiza o medidor de progresso. Uma expressão numérica que representa o progresso atual em relação à conclusão é especificada no argumento value do método SysCmd.
acSysCmdRemoveMeter Remove o medidor de progresso.

O procedimento a seguir usa o método SysCmd para atualizar o medidor de progresso à medida que os dados da tabela Customers são impressos na janela Imediata.

Sub ProgressMeter() 
   Dim MyDB As DAO.Database, MyTable As DAO.Recordset 
   Dim Count As Long 
   Dim Progress_Amount As Integer 
    
   Set MyDB = CurrentDb() 
   Set MyTable = MyDB.OpenRecordset("Customers") 
 
   ' Move to last record of the table to get the total number of records. 
   MyTable.MoveLast 
   Count = MyTable.RecordCount 
 
   ' Move back to first record. 
   MyTable.MoveFirst 
 
   ' Initialize the progress meter. 
    SysCmd acSysCmdInitMeter, "Reading Data...", Count 
 
   ' Enumerate through all the records. 
   For Progress_Amount = 1 To Count 
     ' Update the progress meter. 
      SysCmd acSysCmdUpdateMeter, Progress_Amount 
       
     'Print the contact name and number of orders in the Immediate window. 
      Debug.Print MyTable![ContactName]; _ 
                  DCount("[OrderID]", "Orders", "[CustomerID]='" & MyTable![CustomerID] & "'") 
                   
     ' Go to the next record. 
      MyTable.MoveNext 
   Next Progress_Amount 
 
   ' Remove the progress meter. 
   SysCmd acSysCmdRemoveMeter 
         
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.