|
|
本帖最后由 zzz19760225 于 2026-4-28 14:41 编辑
wps中文版的编辑器代码点阵
- // 通用黑白格子全排列浏览器(支持 N x N)
- function 显示第N个图案通用(格子大小, 序号) {
- // 格子大小:比如 3 表示 3x3,4 表示 4x4
- // 序号:从 1 开始
-
- let n = 格子大小;
- let totalCells = n * n;
-
- // 计算最大序号(2^总格子数)
- let maxSeq = Math.pow(2, totalCells);
-
- if (序号 < 1 || 序号 > maxSeq) {
- Console.log(`序号超出范围!最大序号: ${maxSeq}`);
- return false;
- }
-
- // 将序号转换为二进制
- let binary = (序号 - 1).toString(2).padStart(totalCells, '0');
-
- // 获取当前工作表
- let ws = ActiveSheet;
-
- // 清空区域
- let endCol = String.fromCharCode(64 + n);
- let range = ws.Range(`A1:${endCol}${n}`);
- range.Interior.Color = 0xFFFFFF;
-
- // 设置颜色
- for (let i = 0; i < totalCells; i++) {
- let row = Math.floor(i / n) + 1;
- let col = (i % n) + 1;
-
- if (binary[i] === '1') {
- ws.Cells(row, col).Interior.Color = 0x000000;
- ws.Cells(row, col).Value2 = "■"; // 可选
- } else {
- ws.Cells(row, col).Value2 = "□"; // 可选
- }
- }
-
- // 设置正方形格子
- ws.Rows(`1:${n}`).RowHeight = Math.floor(300 / n);
- ws.Columns(`A:${endCol}`).ColumnWidth = Math.floor(50 / n);
-
- Console.log(`=== ${n}x${n} 格子 ===`);
- Console.log(`第 ${序号} / ${maxSeq} 个图案`);
- Console.log(`二进制: ${binary}`);
-
- return true;
- }
- function 示例_5x5() {
- // 5x5 共 2^25 = 33,554,432 种,需要谨慎
- 显示第N个图案通用(5, 9000); // 第 100 万个图案
- }
复制代码
点击运行宏按钮
立即窗口里显示
- 第 9000 / 33554432 个图案
- 二进制: 0000000000010001100100111
复制代码
表格上显示两个短折线图形。 |
|