删除docm文件中的所有宏并将其转换为docx

问题描述 投票:0回答:1

我的同事尝试通过简单地重命名它们来将我们服务器上的所有 docm 文件转换为 docx 文件,但这会损坏文件。打开它们的唯一方法是将它们重命名为 docm,然后用 word 打开并选择禁用宏。有没有办法删除docm文件中的所有宏并将其转换为python中的docx?

我原本希望通过将其重命名为 zip 来删除文档的 VBA 的所有 VBA 和实例以及引用,但这仍然不允许我打开它。

python python-3.x ms-word doc
1个回答
0
投票

Spire.Doc for Python 提供了从 .docm 文件中删除宏并将其转换为 .docx 格式的功能。但请注意,它不支持创建或执行宏。

您可以使用此 pip 命令安装它:

pip install Spire.Doc

以下是从 .docm 文件中删除宏并将其保存到 .docx 文件的示例:

from spire.doc import *
from spire.doc.common import *

# Create a Document instance
document = Document()
# Load a Word docm document
document.LoadFromFile("Test.docm")

# Remove macros from the document
if document.IsContainMacro:
    document.ClearMacros()
    
# Save the document to a docx file
document.SaveToFile("ToDocx.docx", FileFormat.Docx2016)
document.Close()
© www.soinside.com 2019 - 2024. All rights reserved.