Задать вопрос
@Kryptonit

Возможна ли запись в книгу в реальном времени?

столкнулся с проблемой, у меня есть VBA скрипт, который запускает Python файл:
VBA:
Option Explicit
Public Sub IntegralsFunc(lstname As String)
Dim ObjShell As Object
Dim AddressScript As String
Set ObjShell = VBA.CreateObject("Wscript.Shell")
AddressScript = """C:\selen.py"""
ObjShell.Run AddressScript
End Sub

Python:
import openpyxl 
WorkBook = openpyxl.load_workbook(r'C:\\MainBook-1.xlsm')
IntegralsSheet = WorkBook.get_sheet_by_name('Integrals')


ArrayOfIntegrals = []
ArrayOfUpdatings = []
for i in range(1, 18, 5):
    Value = IntegralsSheet[f'A{i}'].value
    Value = str(Value)
    ArrayOfIntegrals.append(Value)

for i in range(1, 18, 5):
    ArrayOfUpdatings.append(IntegralsSheet[f'D{i}'])
    WorkBook.save("C:\\MainBook-1.xlsm")

for i in range(0, 4):
    ArrayOfUpdatings[i].value = 'привет'

Я считываю интегралы из определённых ячеек, добавляю их в список, как то работаю с ними(Этого нет пока), и самое ключевое - записываю обратно в тот же лист той же книги(лист там не один), проблема такая: крайне важно, чтобы не приходилось перезапускать книгу, т.е. скрипт должен отрабатывать и записывать в реальном времени, однако он не делает этого даже при банально перезапуске (Книга просто не открывается и выдаёт ошибку: формат не корректен)
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
@alekssamos
Программист любитель
Ну тогда никак. Даже если один и тот же текстовый файл два раза открыть, если редактор не поддерживает автоматическую перезагрузку, данные в одном из окон не обновятся до перезапуска.
Ответ написан
Комментировать
Hivemaster
@Hivemaster
Админ, который хочет программировать
Весь ваш python-скрипт можно было написать и на VBA, тогда и запись в книгу в реальном времени была бы возможна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы