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"
# 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"
worksheet.ListObjects(table_name).Refresh()
table_name2 = "Tb2"
worksheet = wb.Worksheets("Planilha2"
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]