Как заставить Python изменять xlsx-файлы при открытии приложения Excel?

Извините, если я задал вопрос, который, возможно, был задан раньше, но я не мог найти ответ на форумах Google и Stack Overflow.

Вопрос связан с использованием openpyxl как это самая удобная библиотека, которая работает с файлами xlsx .

  import openpyxl wb = openpyxl.load_workbook("D:/Python.xlsx") sheet = wb.active i = 0 sheet["A1"] = i wb.save("D:/Python.xlsx") 

Однако он не работает с открытым файлом excel. Я получаю сообщение об ошибке

  [Errno 13] Permission denied: 'D:/Python.xlsx' 

Я также нашел похожие вопросы:

PermissionError [errno 13] при запуске скрипта openpyxl python в Комодо

писать в открытый exceldocument

Что я могу сделать для решения этой ошибки и заставить Python работать с открытым файлом в Excel? Моя текущая версия – Python 2.7. Кроме того, если это возможно, каково решение создания такой же магии в файлах xlsm ?

UPD:

Если для первого вопроса нет решения (кроме Google Docs, возможно, благодаря @Alex), можно ли написать код, который выполняет следующий алгоритм: 1. Закройте приложение Excel и сохраните 2. У персонала на питоне, и сохранить результаты в каком-то месте в Excel 3. Открыть файл Excel в приложении Excel?

Я знаю, как делать 2. Любые мысли по 1 и 3?

UPD2:

xlwings действительно делает потрясающую работу! Только то, что мне нужно! Благодаря!

Я хочу предоставить код, который работал для меня (только другие пользователи могут найти в Google и использовать):

  import xlwings as xl import time wb = xl.Workbook.active() sheet = wb.active iter = 10 i = 0 while True: i += 1 if i <= iter: xl.Range("A1").value = i time.sleep(1) print(i) else: break wb.save() print("Done!") 

OpenPyXL работает непосредственно с файлами; он не имеет ничего общего с программой Excel и не контролирует программу Excel. Таким образом, если файл, который он пытается изменить, заблокирован Excel, ничего не может сделать OpenPyXL.

Этот вопрос отмечен excel-vba, и это, безусловно, один из подходящих способов управления программой Excel (поэтому вы можете изменять данные во время их открытия в Excel или закрыть Excel). Если вам нужен интерфейс для Excel с использованием Python, лучшим пакетом в наши дни является xlwings .