提问人:Hibbert 提问时间:11/15/2023 更新时间:11/15/2023 访问量:28
xlwings VBA RunPython 无法生成日志文件
xlwings VBA RunPython is failing to generate logfile
问:
我正在尝试获取一个 VBA 宏来调用 python 程序(使用 xlwings),该程序将在运行时创建一个日志文件,以及其他目标。
我有以下 python 函数(它创建一个基本的日志文件并向其写入 1 行):
def VBA_log_test(log_value):
import logging
logging.basicConfig(filename='Prime_Portal.log', encoding='utf-8', level=logging.DEBUG, filemode='w')
# Print out input array for debugging purposes
logging.debug('Input Array:\n' + str(log_value))
这是我正在运行的 VBA 宏,但它不会生成(或更新)日志文件。
Sub Test_Python_Logfile()
Debug.Print "Macro Test Started"
Dim python_input As String
' python_input = "import testing2; testing2.VBA_log_test('VBA TEST')"
python_input = "import testing2" & vbNewLine & "testing2.VBA_log_test('VBA TEST')"
Debug.Print "Python Command = " & python_input
RunPython python_input
Debug.Print "Macro Test Completed"
End Sub
附加信息:
- 这两个文件位于同一目录中
- python 代码在直接调用时成功工作
if __name__ == '__main__':
VBA_log_test('python test 2')
# ^^^ This works just fine.
- 从另一个 python 文件调用时,该代码也可以正常工作。只有当使用 xlwings 和“RunPython”从 VBA 调用时,它才无法创建日志文件
答: 暂无答案
评论
logging.basicConfig(filename='Prime_Portal.log', encoding...
logging.basicConfig(filename='C:/Temp/Prime_Portal.log', encoding...
python_input = "import " & mymodule & ";" & mymodule & ".VBA_log_test('VBA TEST')"
mymodule
DEBUG:root:Input Array: VBA TEST