Token导航 LogoToken导航TokenDH.com
效率权限需确认clawhub未标认证来源可访问clear审计通过

word-vba词 VBA

Agent Skill

word-vba 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,371

周安装

95

GitHub Stars

公开资料未说明

下载量

768
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:word-vba(词 VBA)
来源仓库:https://github.com/jirboy/word-vba
安装命令:
openclaw skills install word-vba
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install word-vba

简介

Word文档读写Skill - 基于VBA和ActiveX,支持doc/docx格式,提供完整读写、批量处理、文档合并、模板填充等功能

SKILL.md

name
word-vba
description
Word文档读写Skill - 基于VBA和ActiveX,支持doc/docx格式,提供完整读写、批量处理、文档合并、模板填充等功能
metadata
openclaw
emoji
📄

Word VBA 文档处理 Skill

🎯 一句话定义

通过Python调用Word VBA/ActiveX,实现Word文档的完整读写、批量处理、文档合并、模板填充等高级功能。


📥 如何调用 (How to use me)

触发语句:

  • "读取Word文档"
  • "写入Word文件"
  • "合并多个Word文档"
  • "填充Word模板"
  • "批量替换Word内容"

需要提供的信息:

  1. 必需: 文件路径、操作类型
  2. 可选: 格式要求、输出路径

🛠️ 核心模块

1. word_vba_reader - 文档读取

功能: 读取Word文档的文本和完整格式信息

使用示例:

from word_vba_reader import WordReader

reader = WordReader()
result = reader.read_document("D:/docs/申请书.docx")

# 查看文档统计
print(f"段落数: {result['paragraph_count']}")
print(f"词数: {result['word_count']}")
print(f"页数: {result['pages']}")

# 遍历段落
for para in result['paragraphs']:
    print(f"文本: {para['text']}")
    print(f"字体: {para['format']['font_name']}")
    print(f"大小: {para['format']['font_size']}")
    print(f"粗体: {para['format']['bold']}")

2. word_vba_writer - 文档写入

功能: 创建新Word文档并设置格式

使用示例:

from word_vba_writer import WordWriter

writer = WordWriter()
doc = writer.create_document()

# 添加标题
writer.add_heading(doc, "一、立项依据", level=1)

# 添加格式段落
writer.add_paragraph(doc, "这是正文内容。", {
    'font_name': '宋体',
    'font_size': 12,
    'bold': False,
    'alignment': 'justify',
    'first_line_indent': 24  # 首行缩进24磅
})

# 添加表格
table_data = [
    ["姓名", "年龄", "单位"],
    ["张三", "30", "清华大学"],
    ["李四", "28", "北京大学"]
]
writer.add_table(doc, 3, 3, table_data)

# 保存
writer.save_document(doc, "D:/output/文档.docx")
writer.close()

3. word_vba_utils - 高级功能

3.1 文档合并

功能: 将多个Word文档合并为一个

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 合并多个章节为完整申请书
file_list = [
    "D:/chapters/摘要.docx",
    "D:/chapters/立项依据.docx",
    "D:/chapters/研究内容.docx",
    "D:/chapters/研究基础.docx"
]

utils.merge_documents(
    file_list=file_list,
    output_path="D:/output/完整申请书.docx",
    add_page_breaks=True,      # 章节间添加分页符
    keep_source_format=True     # 保留源格式
)

3.2 模板填充

功能: 根据模板和数据生成文档

模板示例:

项目名称: {{project_name}}
项目负责人: {{leader}}
研究期限: {{start_date}} 至 {{end_date}}
申请经费: {{budget}}万元

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 填充数据
data = {
    'project_name': '振动台子结构试验关键技术研究',
    'leader': '纪金豹',
    'start_date': '2026.01',
    'end_date': '2029.12',
    'budget': '50'
}

utils.fill_template(
    template_path="D:/templates/基金模板.docx",
    data=data,
    output_path="D:/output/填充后申请书.docx"
)

3.3 批量替换

功能: 批量替换文档中的文本

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 定义替换规则
replacements = {
    '2025年': '2026年',
    '面上项目': '青年基金项目',
    '50万元': '30万元'
}

utils.batch_replace(
    file_path="D:/docs/旧版本.docx",
    replacements=replacements,
    output_path="D:/output/新版本.docx"
)

3.4 提取标题大纲

功能: 提取文档的标题结构

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

headings = utils.extract_headings("D:/docs/论文.docx")

for h in headings:
    indent = "  " * (h['level'] - 1)
    print(f"{indent}{h['level']}. {h['text']}")

# 输出:
# 1. 第一章 引言
#   1.1 研究背景
#   1.2 研究意义
# 2. 第二章 文献综述
# ...

3.5 生成目录

功能: 为文档自动生成目录

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

utils.generate_toc(
    file_path="D:/docs/论文.docx",
    output_path="D:/output/论文_含目录.docx"
)

3.6 文档比较

功能: 比较两个文档的差异

使用示例:

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

utils.compare_documents(
    doc1_path="D:/docs/初稿.docx",
    doc2_path="D:/docs/修改稿.docx",
    output_path="D:/output/差异比较.docx"
)

3.7 批量处理

功能: 对多个文档执行相同操作

使用示例:

from word_vba_utils import WordVBAUtils
from word_vba_writer import WordWriter

utils = WordVBAUtils()

# 定义处理函数:添加页眉
def add_header(doc):
    header = doc.Sections(1).Headers(1)
    header.Range.Text = "机密文件"
    header.Range.Font.Name = "宋体"
    header.Range.Font.Size = 10

# 批量处理
file_list = ["D:/docs/1.docx", "D:/docs/2.docx", "D:/docs/3.docx"]

utils.batch_process(
    file_list=file_list,
    processor=add_header,
    output_dir="D:/output/processed/"
)

💡 典型应用场景

场景1: 基金申请书整合

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 合并各章节
sections = [
    "摘要.docx",
    "一、立项依据与研究内容.docx",
    "二、研究方案.docx",
    "三、创新点.docx",
    "四、研究基础.docx"
]

utils.merge_documents(
    file_list=[f"D:/fund/{s}" for s in sections],
    output_path="D:/fund/NSFC申请书_完整版.docx",
    add_page_breaks=True
)

场景2: 批量生成证书

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 获奖名单
winners = [
    {'name': '张三', 'award': '一等奖', 'date': '2026-03-04'},
    {'name': '李四', 'award': '二等奖', 'date': '2026-03-04'},
    {'name': '王五', 'award': '三等奖', 'date': '2026-03-04'}
]

# 批量生成
for i, person in enumerate(winners, 1):
    utils.fill_template(
        template_path="D:/templates/证书模板.docx",
        data=person,
        output_path=f"D:/output/证书_{i}_{person['name']}.docx"
    )

场景3: 论文格式统一

from word_vba_utils import WordVBAUtils

utils = WordVBAUtils()

# 统一替换期刊名称缩写
replacements = {
    'Earthquake Engineering and Structural Dynamics': 'Earthq. Eng. Struct. Dyn.',
    'Journal of Structural Engineering': 'J. Struct. Eng.',
    'Mechanical Systems and Signal Processing': 'Mech. Syst. Signal Process.'
}

utils.batch_replace(
    file_path="D:/papers/参考文献.docx",
    replacements=replacements,
    output_path="D:/papers/参考文献_缩写版.docx"
)

⚙️ 依赖要求

  • 操作系统: Windows(必需)
  • Microsoft Word: 2010或更高版本(必需)
  • Python: 3.8+
  • Python库: pip install pywin32

🔧 与 docx-tools 的区别

特性word-vbadocx-tools
依赖需要Microsoft Word纯Python
平台仅Windows跨平台
功能完整(VBA所有功能)基础功能
速度较慢(启动Word)
格式支持100%(包括复杂样式)基本格式
批量处理✅ 支持✅ 支持
模板填充✅ 支持❌ 不支持
文档合并✅ 保留格式⚠️ 有限支持
目录生成✅ 支持❌ 不支持

选择建议:

  • 需要精确格式控制、复杂操作 → word-vba
  • 快速批量处理、跨平台需求 → docx-tools

🐛 故障排除

问题:"无法创建Word应用对象"

原因: Word未安装或COM接口未注册 解决:

  1. 确保已安装Microsoft Word
  2. 尝试修复Office安装
  3. 以管理员身份运行

问题:文档被占用无法打开

解决: 关闭Word中已打开的该文档,或重启Word进程

问题:格式信息读取不完整

解决: 检查文档是否使用了特殊样式或模板

问题:"ImportError: No module named 'win32com'"

解决: pip install pywin32


📝 最佳实践

  1. 使用后及时关闭: 调用 writer.close()utils._close_word() 释放资源
  2. 设置 visible=False: 后台运行提高速度
  3. 批量处理: 使用 batch_process 而不是循环打开单个文件
  4. 异常处理: 使用 try-except 包裹代码,确保Word进程能正常关闭

_技能版本: v2.0_ _更新日期: 2026-03-04_ _更新说明: 添加高级功能模块(合并、模板、批量处理等)_

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.75%
按下载量换算735

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills