【发布时间】:2020-08-17 20:38:05
【问题描述】:
我编写了一个需要使用 VBA 调用的 python 脚本。我编写了一个 python 脚本,它可以解析一个 pdf,将我需要的数据存储在变量中,并写入一个预制的 excel 表以用这些值填充单元格。我已经成功地调用了该脚本并使用以下代码运行它:
Sub RunPythonScript()
'Declare Variables
Dim objShell As Object
Dim PythonExe, PythonScript As String
'Create a new Object shell.
Set objShell = VBA.CreateObject("Wscript.Shell")
'Provide file path to Python.exe
'USE TRIPLE QUOTES WHEN FILE PATH CONTAINS SPACES.
PythonExe = """C:\Python38\python.exe"""
PythonScript = "C:\Users\matthew_vidovic\Documents\dwf-python\fedExPDF.py"
'Run the Python Script
objShell.Run PythonExe & PythonScript
End Sub
对我来说,最后一步是能够从 VBA 而不是 python 脚本中传递一个 pdf 文件。 目前,在我的 python 脚本中,我打开一个 pdf 并使用以下代码将其存储为文本
raw = parser.from_file('nameofmyfile.pdf')
pdfText = raw['content']
而不是这样做,我希望能够从 vba 中更改正在分析的 pdf 文件,而不是通过更改 python 脚本。有没有办法让我从 vba 将参数传递给 python 脚本,参数是 pdf 文件的名称。我需要能够从 vba 更改 pdf 文件,然后由 python 脚本分析该文件。 这样的事情可能吗? 任何帮助将不胜感激。 干杯!
【问题讨论】:
-
您的脚本可以从预制的 excel 中读取文件名吗?