У меня есть скрипт Python, использующий win32 для изменения, обновления источников, сохранения и отправки электронной почты в книгу Excel. Я хочу отключить или удалить запросы и соединения, используемые в книге, перед сохранением и отправкой.
Я пытался ссылаться на QueryTables и Connections через win32, но оба говорят, что объект, на который я ссылаюсь (таблица eomrng ниже), не имеет атрибута Delete или Remove. Код ниже сильно урезан, чтобы сосредоточиться на рассматриваемой области; фрагмент, который мне нужен, должен идти перед разделом "## Сохранить и закрыть".
from win32com.client import constants
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
##Launch Excel
Xlsx = win32com.gencache.EnsureDispatch('Excel.Application')
##Variables
last_month = datetime.now() - relativedelta(months=1)
mo_yr = format(last_month, '%B %Y')
src_book = str(r'Filepath')
new_book = str(r'Filepath ' + mo_yr + '.xlsx')
book = Xlsx.Workbooks.Open(src_book)
s1 = 'Month End Report'
##Open and update workbook
book.RefreshAll()
Xlsx.CalculateUntilAsyncQueriesDone()
eomrng = book.Worksheets(s1)
eomrng.Activate()
eomrng.Range("C8").Select()
##Save and close workbook
book.SaveAs(Filename=new_book, FileFormat=51)
book.Close()
Xlsx.Quit()
##Cleanup win32 task
del book
del Xlsx
##Email stuff here
Я хочу отправить эту рабочую книгу с результатами запросов, но без запросов и подключений, поскольку файл будет предоставлен членам нашей организации, у которых нет учетных данных для подключения к нашему DW.