first commit

This commit is contained in:
jianxin committed 2024-06-18 20:42:45 +08:00
commit bd8a119506
4 files changed
+77

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
# WPSExt
## 简介
通过 wps 加载项操作 wps 表格, 实现自动化
## 用法
## 注意
+14
View File
@@ -0,0 +1,14 @@
[tool.poetry]
name = "wpsext"
version = "0.1.0"
description = ""
authors = ["wn0x00 <wn0x00@qq.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "3.7"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
+8
View File
@@ -0,0 +1,8 @@
def test_open_wps():
pass
def test_close_wps():
pass
def test_invoke_func():
pass
+45
View File
@@ -0,0 +1,45 @@
import winreg
import os
import subprocess
def read_registry_value(key, subkey, value_name):
"""通过注册表查询指定键值的值"""
try:
registry_key = winreg.OpenKey(key, subkey, 0, winreg.KEY_READ)
value, regtype = winreg.QueryValueEx(registry_key, value_name)
winreg.CloseKey(registry_key)
return value
except WindowsError as e:
return None
def get_wps_exe_path():
"""通过注册表定位 wps 的安装路径"""
key = winreg.HKEY_CURRENT_USER
subkey = r"Software\kingsoft\Office\6.0\Common"
value_name = "InstallRoot"
install_root = read_registry_value(key, subkey, value_name)
if not install_root:
raise FileNotFoundError("未找到 WPS 安装路径,请检查是否安装 WPS。")
wps_exe_path = os.path.join(install_root, "office6", "wps.exe")
assert os.path.exists(wps_exe_path), f"未找到 WPS 安装路径,请检查是否安装 WPS。"
return wps_exe_path
def run_wps():
"""启动 WPS"""
wps_exe_path = get_wps_exe_path()
params = ["/prometheus", "/t"]
process = subprocess.Popen(
[wps_exe_path] + params,
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS,
)
print("Process ID:", process.pid)
if __name__ == "__main__":
run_wps()