python - 将参数从 python 脚本传递到 Word 宏 VBA (pywintypes.com_error: (-2147352567, 'Exception occurred.')
问题描述
我有一个 Word 宏 VBA 脚本,可以在 word 文档中插入一个 docx 文件:
Public Sub Macro(path As String)
Selection.InsertFile FileName:=path, Range:="", ConfirmConversions:=False, Link:=True, Attachment:= False
ActiveDocument.Close_ SaveChanges:=wdSaveChanges, _ OriginalFormat:=wdOriginalDocumentFormat
Aplication.Quit SaveChanges:=wdSaveChanges
我想创建一个调用宏的 python 脚本,并将文件的路径作为参数传递,该文件将插入到 VBA 脚本中。
import win32com.client as win32
word = win32.DispatchEx('Word.Application')
word.Visible = True
doc = word.Documents.Open(r'path to file .docx')
word.Application.Run("Complete.Macro.Name", "path_to_file_docx")
但我收到以下错误:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147352567), None)
我读到如果 Sub 收到参数,则 VBA 不再是宏。有谁知道如何克服这个?
解决方案
使用
import sys
import pywintypes
try:
...
except pywintypes.com_error:
sys.exit(1)
似乎可以解决问题。
推荐阅读
- android - 在 android Studio 中发现 java.lang.reflect.InvocationTargetException(无错误消息)
- python - 如何实现Player结果映射?
- r - 如何计算 R 中单元格内由逗号分隔的唯一 2 个单词短语?
- python - f.write(buf) TypeError: 需要一个类似字节的对象,而不是 'str'
- excel - 有没有办法指定 GetOpenFilename 使用的目录?
- python - Leetcode 中的二和问题的算法没有输出
- travis-ci - 在 vuepress-Travis CI 构建期间找不到 package.json 文件时出错
- python - 向左旋转 k 个单元格,其中 k 大于数组的长度
- javascript - 将时区添加到这个 js 时间表?
- ios - 在后端验证 Apple StoreKit2 应用内购买收据 jwsRepresentation(理想情况下是节点,但一切正常)