从VBA运行Python脚本,不起作用

2024-03-29 08:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我尝试使用VBA命令运行一个非常简单的Python脚本

多次尝试下面的代码,cmd将打开,但脚本根本不运行

对这件事有什么想法吗

Python代码

# pip instal PyPDF2

import os

from PyPDF2 import PdfFileMerger


source_dir = os.getcwd()

merger = PdfFileMerger()

for item in os.listdir(source_dir):
    if item.startswith('Doc.'):
        merger.merge(position=0, fileobj=item, bookmark=None, pages=None)
           
    if item.endswith('pdf'):
        merger.append(item)
    

merger.write('try.pdf')
merger.close()

运行Python脚本的VBA代码

Sub running()

Dim obj As Object
Dim PythonExe As String
Dim Script As String

Set obj = VBA.CreateObject("Wscript.Shell")

PythonExe = """C:\Program Files (x86)\python.exe"""

Script = "C:\Users\User\Documents\testesbulkpdf\firsttry.py"


obj.Run PythonExe & Script


End Sub


Tags: 代码import脚本objsourceosasscript
1条回答
网友
1楼 · 发布于 2024-03-29 08:28:15

我很难让它以给定的路径执行python,所以我更改了目录以使它工作

我添加了/k,它应该保持提示打开并给出错误。(老实说,这些都没什么用,但总比打开和关闭闪烁要好。)

cd /d将为您更改目录

&&cd通过后执行后半部分

Dim obj As Object
Dim PythonExe As String
Dim Script As String

Set obj = VBA.CreateObject("Wscript.Shell")

PythonExe = """C:\Program Files (x86)"""

Script = "C:\Users\User\Documents\testesbulkpdf\firsttry.py"

obj.Run "cmd /k cd /d" & PythonExe & "&& " & "python" & " " & Script

相关问题 更多 >