Чтобы вызвать python из электронной таблицы, я выполняю RunPython(), но возвращает ли это код успеха или отказа? Как узнать в VBA, был ли вызов успешным или нет? Я предполагаю, что один из вариантов - позволить функции python записывать в ячейку в электронной таблице, а затем позволить VBA проверять ее значение, но мне интересно, есть ли лучший, более собственный/предназначенный для этого способ.Зная, был ли вызов Python через xlwings успешным или нет в VBA
ответ
В своей текущей реализации xlwings предназначен для полной передачи управления на Python после вызова RunPython
, то есть без возвращаемого значения, но будет отображаться всплывающее окно с ошибкой, если оно есть. Причиной этого является кросс-платформенная совместимость, см. Также обсуждение this о том, как бороться с кодом VBA, который должен появиться после вашего вызова RunPython
.
. Затем вы рекомендуете разрешить процедуре python устанавливать скрытую ячейку в Excel и позволить VBA проверить значение этой ячейки? – RAY
Следуя предыдущему вопросу, должен ли я иметь возможность направлять вывод ошибки в ячейку и подавлять окно ошибки? – RAY
Вы можете добавить запрос функции для GitHub, и мы продолжим обсуждение там ... –
Как определяется RunPython()? Является ли это субой или функцией, и если это функция, то какой ее тип возврата? –
Это встроенный макрос xlwing, на который я верю. Я ничего не вижу от него. – RAY
Как я смогу его увидеть или использовать в VBA? (мне нужно установить ссылку или это AddIn) –