import win32com.client
import os
def write_to_wps(text, save_path):
try:
# 创建WPS应用实例
wps = win32com.client.Dispatch('wps.Application')
# 设置为可见,便于查看操作过程
wps.Visible = True
# 创建新文档
doc = wps.Documents.Add()
# 获取文档的Selection对象,用于操作文本插入位置
selection = wps.Selection
# 写入文本
selection.TypeText(text)
# 保存文档
doc.SaveAs(save_path)
print(f"文档已成功保存至: {save_path}")
# 关闭文档
doc.Close()
# 退出WPS应用
wps.Quit()
return True
except Exception as e:
print(f"发生错误: {e}")
return False
finally:
# 释放COM对象
wps = None
if __name__ == "__main__":
# 要写入的文本内容
text = "这是由Python程序通过WPS接口写入的示例文本。\n"
text += "你可以在这里添加更多内容,实现文字高效写入WPS文档。\n"
# 文档保存路径,请确保路径存在
save_path = r"D:\WPSPythonTest.docx"
# 调用函数写入文本
result = write_to_wps(text, save_path)
if result:
print("文字已成功写入WPS文档!")
else:
print("文字写入失败,请检查错误信息。")
上述代码实现了 Python 通过 COM 接口调用 WPS 并写入文字的功能。代码主要完成以下工作:
- 创建 WPS 应用程序实例并设置为可见
- 创建新的文档
- 获取文档的 Selection 对象,用于操作文本插入位置
- 调用 TypeText 方法向文档中写入文字
- 将文档保存到指定路径
- 关闭文档并退出 WPS 应用程序
使用这段代码前需要注意:
- 系统中需要安装 WPS Office
- 需要安装 pywin32 库,可以使用
pip install pywin32
命令安装 - 确保有写入指定路径文件的权限
- 如需操作已存在的文档,需要使用
Documents.Open()
方法而非Documents.Add()
方法