Método WorkbookConnection.Refresh (Excel)

Atualiza a conexão de uma pasta de trabalho.

Sintaxe

expressão. Atualização

expressão Uma variável que representa um objeto WorkbookConnection .

Comentários

Se a propriedade DisplayAlerts for False, as caixas de diálogo não serão exibidas e o método Refresh falhará com a exceção de Informações de Conexão Insuficientes.

Uma falha de atualização para uma conexão não terá nenhum impacto nas operações de atualização para as outras conexões.

Se a conexão carregar uma consulta criada com o Power Query em uma tabela de planilha, a atualização em segundo plano será desativada para a conexão (a propriedade BackgroundQuery de seu objeto OLEDBConnection será False) e a consulta como um todo não será avaliada (por exemplo, devido a uma error expressão em uma etapa, ou uma função como Number.FromText essa falha enquanto o valor de uma etapa é calculado em vez de dentro de uma única célula), o método Refresh gera o erro de tempo de execução 1004 com uma descrição genérica ("erro definido pelo aplicativo ou definido pelo objeto"). A mensagem de erro produzida pela consulta não está incluída. Para obter a mensagem de erro da consulta, atualize a tabela usando o método Refresh de seu objeto QueryTable com a atualização em segundo plano desativada. Esse método gera o mesmo número de erro e sua descrição inclui o erro da consulta, por exemplo [Expression.Error] ....

Se a atualização em segundo plano estiver ativada, o método Refresh retornará antes da conclusão da atualização e os erros que ocorrerem durante a atualização não serão retornados para o código de chamada.

Erros em células individuais do resultado da consulta não fazem com que a atualização falhe. A atualização é bem-sucedida e as células são deixadas vazias.

Exemplo

Este exemplo atualiza todas as tabelas de consulta na planilha ativa e grava a mensagem de erro de cada atualização com falha na janela Imediata. Chamar Refresh nos objetos WorkbookConnection relataria apenas a descrição genérica.

Sub RefreshQueryTables()
    Dim lo As ListObject
    For Each lo In ActiveSheet.ListObjects
        If lo.SourceType = xlSrcQuery Then
            On Error Resume Next
            ' lo.QueryTable.WorkbookConnection.Refresh would report only a generic description.
            lo.QueryTable.Refresh BackgroundQuery:=False
            If Err.Number <> 0 Then Debug.Print lo.Name & ": " & Err.Description
            On Error GoTo 0
        End If
    Next lo
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.