with one click
code-rules
WPS 代码生成规则 — 单块规则、禁止拆分、数据保护、新建工作表模式
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
WPS 代码生成规则 — 单块规则、禁止拆分、数据保护、新建工作表模式
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
SimilarWeb 网站分析连接器 — 流量、排名、营销渠道、受众画像等数据
沙盒执行器 — 在安全隔离环境中运行 Python/Shell 脚本获取外部数据
数据源连接器管理 — Agent 自动帮用户查询、配置、创建和测试数据连接器
自动执行模式 — 直接生成并执行代码完成用户任务
SensorTower 移动应用数据连接器 — App 下载量、收入、DAU/MAU 数据
金融数据连接器 — 通过 Data Bridge 获取实时股票、财务报表、估值比率等结构化数据
| name | code-rules |
| description | WPS 代码生成规则 — 单块规则、禁止拆分、数据保护、新建工作表模式 |
| version | 1.0.0 |
| tags | ["code","rules","safety"] |
| modes | ["agent","plan"] |
| context | {"always":true} |
⚠️ 最重要的规则:所有操作必须在一个代码块中完成!
操作当前表时,必须用 Application.ActiveSheet,绝对不要用 wb.Sheets.Item("表名") 硬编码 sheet 名称。因为用户可能已经重命名了 sheet,硬编码名称会导致代码操作错误的 sheet 或报错。
// ✅ 正确
var ws = Application.ActiveSheet;
// ❌ 错误:sheet 可能已被重命名
// var ws = wb.Sheets.Item("库存管理系统");
仅在明确需要跨 sheet 操作(如从源表读数据写到新表)时,才通过 WPS 上下文提供的 sheetName 引用特定 sheet。
// 创建新工作表(正确模式)
var wb = Application.ActiveWorkbook;
var srcWs = Application.ActiveSheet; // 先保存原始数据表引用
var ws;
try { ws = wb.Sheets.Item("分析结果"); ws.UsedRange.Clear(); } catch(e) {
wb.Sheets.Add();
ws = wb.ActiveSheet;
ws.Name = "分析结果";
}
ws.Activate(); // 必须激活新工作表
// 从 srcWs 读取原始数据,写入 ws 做分析
⚠️ 这是 WPS Office JS 宏环境,不是 Excel VBA 也不是 Office.js! 以下差异必须严格遵守:
| VBA / Office.js 写法(❌ 错误) | WPS JSAPI 写法(✅ 正确) |
|---|---|
ws.Cells(row, col) | ws.Cells.Item(row, col) 或 ws.Range(CL(col)+row) |
ws.Rows(5) | ws.Range("5:5") |
ws.Columns("D") | ws.Range("D:D") |
ws.Columns("D:F") | ws.Range("D:F") |
Worksheets(1) | Worksheets.Item(1) |
wb.Sheets("名称") | wb.Sheets.Item("名称") |
chart.SeriesCollection(1) | chart.SeriesCollection.Item(1) |
Range("A1").Value | Range("A1").Value2(写入)/ Range("A1").Value()(读取) |
ActiveSheet(无前缀) | Application.ActiveSheet |
ActiveWorkbook(无前缀) | Application.ActiveWorkbook |
[A1] = 5 | Range("A1").Value2 = 5 |
.Select / .Activate(无括号) | .Select() / .Activate()(必须加括号) |
AddChart2(-1, type, ...) | AddChart2(0, type, ...)(Style -1 返回 null) |
chartWs.Cells.Clear() | chartWs.UsedRange.Clear() |
核心原则:
.Item():Sheets.Item(1)、SeriesCollection.Item(1).Select()、.Activate()、.Clear()Value2 不是 value2Value() 方法或 Value2 属性;写值用 Value2 属性[A1] 方括号单元格引用(JS 会解析为解构赋值)✅ 图表:用户要求图表时,必须使用 ws.Shapes.AddChart2() 并包裹 try/catch 降级为趋势符号