python - VBA运行python脚本 - 权限错误
问题描述
所以,我正在尝试使用 VBA 运行 Python 代码。在这里阅读了很多类似的主题,但找不到答案。
每次我使用下面的代码时,CMD 都会通知权限错误 - 如下图。
Python 脚本在手动单击时完美运行。
对此事有任何想法吗?
VBA 代码
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
蟒蛇代码
# 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()
错误 - 图像和文本 ( https://imgur.com/a/JmZdJeK )
Traceback (most recent call last):
File "C:\Users\User\Documents\testesbulkpdf\firsttry.py", line 19, in <module>
merger.write('try.pdf')
File "C:\Users\User\AppData\Roaming\Python\Python38\site-packages\PyPDF2\merger.py", line 214, in write
fileobj = file(fileobj, 'wb')
PermissionError: [Errno 13] Permission denied: 'try.pdf'
解决方案
推荐阅读
- java - 如何设计我的 Spring 程序,以便当用户登录时我可以判断他们是教职员工、学生还是教职员工?
- jquery - 如果 variable.onclick 为真,则执行命令
- python - 如何使用 usb rs485 将寄存器 pymodbus 读取到 modbus 设备?
- ruby-on-rails - Heroku 部署错误;预编译资产失败(注意 devise.rb 中的行)
- javascript - 如何读取 JSON 文件,这是我的版本,但不好
- python - 如何在一行中初始化多个字典,并使用键列表作为 Python 中的输入参数来初始化它们?
- c++ - 关于在 C++ 中动态创建的对象的问题
- reactjs - 如何在 React 中使用 Yield 关键字?
- r - 使用 alpha 使 geom_point 点颜色稍微变浅?
- python - ModuleNotFoundError:没有名为“googleapiclient”的模块