【问题标题】:Passing an argument from python script to Word Macro VBA (pywintypes.com_error: (-2147352567, 'Exception occurred.')将参数从 python 脚本传递到 Word 宏 VBA (pywintypes.com_error: (-2147352567, 'Exception occurred.')
【发布时间】:2020-07-17 03:51:07
【问题描述】:

我有一个 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 不再是宏。有谁知道如何克服这个问题?

【问题讨论】:

标签: python vba ms-word pywin32 comtypes


【解决方案1】:

使用

import sys
import pywintypes

try:
    ...
except pywintypes.com_error:
    sys.exit(1)

似乎解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2013-03-26
    • 2016-10-26
    • 2013-05-18
    相关资源
    最近更新 更多