我的同事尝试通过简单地重命名它们来将我们服务器上的所有 docm 文件转换为 docx 文件,但这会损坏文件。打开它们的唯一方法是将它们重命名为 docm,然后用 word 打开并选择禁用宏。有没有办法删除docm文件中的所有宏并将其转换为python中的docx?
我原本希望通过将其重命名为 zip 来删除文档的 VBA 的所有 VBA 和实例以及引用,但这仍然不允许我打开它。
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()