Logo Hardware.com.br
Matheus Rodrigues95
Matheus Rodr... Membro Junior Registrado
60 Mensagens 5 Curtidas

Erro de código: Atualizar dados específicos de um consulta do Excel (Refresh All) via Python, sem abrir a planilha.

#1 Por Matheus Rodr... 23/08/2023 - 18:10
Boa tarde.

Podem me ajudar com a ponto abaixo ?

Preciso atualizar uma consulta especifica dentro da tabela do Excel, tenho uma base com 2 consultas, preciso atualizar a primeira, quando concluir a atualização da primeira, realizo a atualização da segunda consulta, semelhante a um passo a passo. Após realizar a segunda atualização, realizo a atualização de uma tabela dinâmica. A idéia é fazer isso sem abrir a planilha, ao final dos procedimentos deverá ocorrer o salvamento da planilha. Utilizei o código abaixo, mas a planilha apenas salvou, não realizou o procedimento. Tentei o código abaixo:

Código funcional:


from multiprocessing import connection
import win32com.client

# Start an instance of Excel
xlapp = win32com.client.DispatchEx("Excel.Application&quot

# Open the workbook in said instance of Excel
wb = xlapp.Workbooks.Open(r'C:\Users\A0142868\Downloads\Base_Alimentada.xlsx')

#xlapp.CalculateUntilAsyncQueriesDone()
##xlapp.DisplayAlerts = False

Connection_name_first_query = "Tabela1"
Connection_first_query = wb.Connections(Connection_name_first_query)
Connection_first_query.OLEDBConnection.BackgroundQuery = False
Connection_first_query.Refresh()

xlapp.CalculateUntilAsyncQueriesDone()

Connection_name_second_query = "Tabela2"
Connection_second_query = wb.Connections(Connection_name_second_query)
Connection_second_query.OLEDBConnection.BackgroundQuery = False
Connection_second_query.Refresh()

xlapp.CalculateUntilAsyncQueriesDone()

table_name = "Tb1"
worksheet = wb.Worksheets("Planilha2&quot
worksheet.ListObjects(table_name).Refresh()

table_name2 = "Tb2"
worksheet = wb.Worksheets("Planilha2&quot
worksheet.ListObjects(table_name2).Refresh()

wb.Save()
wb.Close()

xlapp.Quit()

print('Concluido')




Mas resultou no erro abaixo:

Traceback (most recent call last): File "C:\Users\Eu\source\repos\PythonApplication7\PythonApplication7\PythonApplication7.py", line 14, in Connection_fist_query = wb.Connections(Connection_name_first_query) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Eu\AppData\Local\Temp\gen_py\3.11\00020813-0000-0000-C000-000000000046x0x1x9.py", line 6444, in <b>call</b> ret = self.<em>oleobj</em>.InvokeTypes(0, LCID, 2, (9, 0), ((12, 1),),Index ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pywintypes.com_error: (-2147352567, 'Exceção.', (0, None, None, None, 0, -2147352565), None) Pressione qualquer tecla para continuar. . .[/font][/size][/color]

Responder
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal