YStudio Y++

Word类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → Word类。

类型名写「Word类」。声明时自动创建。

读写 .docx(OOXML),无需安装 Microsoft Word。能力包:plugins/supportlib.word/(须在 YStudio.exe 旁 plugins/,重启 IDE 后出现在支持库面板)。免费,编译不验票。

对齐:0左 1中 2右 3两端。字号:磅。颜色:#RRGGBB。页边距/纸张:twip(1440=1 英寸;A4≈11906×16838)。


快速开始

套打(推荐)

Word类 doc
如果 (!doc.打开(合并路径(取程序目录(), "合同模板.docx"))) {
    信息框(doc.取错误(), 0)
    返回
}
' 智能替换:可跨 Word 拆开的文本 run
doc.批量替换("{{姓名}}=张三" + 字符(10) + "{{金额}}=12800")
如果 (!doc.另存为(合并路径(取程序目录(), "合同_张三.docx"))) {
    信息框(doc.取错误(), 0)
}
doc.关闭()

新建带样式 + 表格

Word类 doc
doc.新建()
doc.置字体("微软雅黑", 11, 假, 假, "")
doc.置全文("报价单", 1, 18, 真)
doc.追加段落("客户:张三")
整数 表 = doc.追加表格(3, 2, "项目" + 字符(9) + "金额" + 字符(10) + "服务费" + 字符(9) + "1000")
doc.置页眉("本公司抬头")
doc.置页脚("谢谢惠顾")
doc.保存(合并路径(取程序目录(), "报价.docx"))
doc.关闭()

方法摘要

文档

方法 说明
打开(路径, [密码]) / 新建([密码]) / 关闭 / 是否已打开 / 重置 加密须密码
保存([路径], [密码]) / 另存为(路径, [密码]) / 置密码 / 是否有密码
取路径 / 取错误 / 是否已修改

字体默认值

方法 说明
置字体([字体名],[字号],[粗体],[斜体],[颜色]) 影响后续追加/置全文等
取字体名 / 取字号

正文与段落

方法 说明
取文本([范围=0]) 0正文 · 1页眉 · 2页脚 · 3全部
置全文(内容, [对齐],[字号],[粗体],[字体名],[颜色]) 按换行拆段
清空正文
追加段落 / 插入段落 / 置段落 / 删段落 均可带对齐/字号/粗体/字体/颜色
取段落数 / 取段落(序号) 序号从 1 起

查找替换

方法 说明
替换(查找, [替换为], [范围=0], [最大次数=0]) 智能跨 run;范围 0全/1正文/2页眉页脚
批量替换(映射, [范围=0]) 每行 查找=替换 或 Tab 分隔
包含 / 取出现次数

页眉页脚 / 表格 / 纸张

方法 说明
取页眉 / 置页眉 / 取页脚 / 置页脚 无部件时自动创建
追加表格(行,列,[TSV]) 成功返回表序号
置单元格 / 取单元格 / 取表格数 / 取表格行数 / 取表格列数
置页边距 / 取页边距 / 置纸张 / 取纸张 twip

加密文档

与 Excel 相同,使用 Office 敏捷加密(AES-256)。可用 Word/WPS「加密的文档」后:

Word类 doc
如果 (!doc.打开("密件.docx", "我的密码")) {
    信息框(doc.取错误(), 0)
    返回
}
doc.替换("{{姓名}}", "张三")
doc.另存为("密件_out.docx", "我的密码")
doc.关闭()

无密码参数时存为普通 .docx。也可 置密码("...") 后再 保存()。

注意

  1. 仅 .docx;旧 .doc 不支持。
  2. 替换 按段落合并文本后再写回,套打占位符一般可跨 run;极复杂域代码仍可能失败,可用 取出现次数 核对。
  3. 置全文 / 追加段落 会用当前字体样式写 run;复杂排版优先「模板 + 替换」。
  4. 依赖 ZIP 模块;链接由工程自动拉入。