工作簿

Workbook

Workbook 对象在 WPS 表格中代表一个工作簿它包含了许多属性和方法用于管理和操作工作簿

ActiveWorkbook 对象继承 Workbook 对象在 WPS 表格中代表当前激活的工作簿它继承了 Workbook 对象的所有属性和方法并且提供了一些特定于当前激活工作簿的功能

ThisWorkbook 对象继承 Workbook 对象在 WPS 表格中代表包含当前正在运行宏代码的工作簿与 ActiveWorkbook 不同ThisWorkbook 总是指向包含宏代码的工作簿即使当前激活的工作簿是另一个工作簿

常用属性

Name返回工作簿的名称

  • 类型字符串
  • 用法workbook.Name

Path返回工作簿的路径

  • 类型字符串
  • 用法workbook.Path

Sheets返回工作簿中所有工作表的集合

  • 类型Sheets
  • 用法workbook.Sheets

ActiveSheet返回当前激活的工作表

  • 类型Worksheet
  • 用法workbook.ActiveSheet

ReadOnly返回工作簿是否只读

  • 类型布尔值
  • 用法workbook.ReadOnly

Saved返回工作簿是否已保存

  • 类型布尔值
  • 用法workbook.Saved

Application返回包含该工作簿的应用程序对象

  • 类型Application
  • 用法workbook.Application

Creator返回创建该工作簿的应用程序的标识符

  • 类型长整型
  • 用法workbook.Creator

Parent返回包含该工作簿的对象

  • 类型对象
  • 用法workbook.Parent

常用对象

Close关闭工作簿

  • 参数布尔值是否保存更改默认为 true
  • 用法workbook.Close(true)

Save保存工作簿

  • 用法workbook.Save()

SaveAs以新的文件名保存工作簿

  • 参数字符串文件路径
  • 用法workbook.SaveAs(“C:\path\to\new\file.xlsx”)

Activate激活工作簿

  • 用法workbook.Activate()

NewSheet在工作簿中添加一个新的工作表

  • 返回值Worksheet
  • 用法workbook.NewSheet()

PrintOut打印工作簿

  • 参数可选从页码到页码份数等
  • 用法workbook.PrintOut()

Protect保护工作簿

  • 参数密码结构窗口
  • 用法workbook.Protect(“password”, true, true)

Unprotect取消保护工作簿

  • 参数密码
  • 用法workbook.Unprotect(“password”)

应用示例

⭐⭐ 获取当前激活工作簿的名称和路径

1
2
3
4
5
function getActiveWorkbookInfo() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
console.log("工作簿名称: " + workbook.Name); // 输出工作簿的名称
console.log("工作簿路径: " + workbook.Path); // 输出工作簿的路径
}

⭐⭐ 检查当前激活工作簿是否只读

1
2
3
4
5
6
7
8
function checkReadOnly() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
if (workbook.ReadOnly) {
console.log("工作簿是只读的");
} else {
console.log("工作簿不是只读的");
}
}

⭐⭐ 检查当前激活工作簿是否已保存

1
2
3
4
5
6
7
8
function checkSaved() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
if (workbook.Saved) {
console.log("工作簿已保存");
} else {
console.log("工作簿未保存");
}
}

⭐⭐ 保存当前激活工作簿

1
2
3
4
function saveActiveWorkbook() {
ActiveWorkbook.Save(); // 保存当前激活的工作簿
console.log("工作簿已保存: " + ActiveWorkbook.Name); // 输出已保存的工作簿的名称
}

⭐⭐ 以新的文件名保存当前激活工作簿

1
2
3
4
5
function saveAsActiveWorkbook() {
var newFilePath = "C:\\path\\to\\new\\file.xlsx"; // 新的文件路径
ActiveWorkbook.SaveAs(newFilePath); // 以新的文件名保存当前激活的工作簿
console.log("工作簿已另存为: " + newFilePath); // 输出新的文件路径
}

⭐⭐ 在当前激活工作簿中添加一个新的工作表

1
2
3
4
function addNewSheetToActiveWorkbook() {
var newSheet = ActiveWorkbook.NewSheet(); // 在当前激活的工作簿中添加一个新的工作表
console.log("新工作表已创建: " + newSheet.Name); // 输出新工作表的名称
}

⭐⭐ 打印当前激活工作簿

1
2
3
4
function printActiveWorkbook() {
ActiveWorkbook.PrintOut(); // 打印当前激活的工作簿
console.log("工作簿已打印: " + ActiveWorkbook.Name); // 输出已打印的工作簿的名称
}

⭐⭐ 保护当前激活工作簿

1
2
3
4
function protectActiveWorkbook() {
ActiveWorkbook.Protect("password", true, true); // 保护当前激活的工作簿
console.log("工作簿已保护: " + ActiveWorkbook.Name); // 输出已保护的工作簿的名称
}

⭐⭐ 取消保护当前激活工作簿

1
2
3
4
function unprotectActiveWorkbook() {
ActiveWorkbook.Unprotect("password"); // 取消保护当前激活的工作簿
console.log("工作簿已取消保护: " + ActiveWorkbook.Name); // 输出已取消保护的工作簿的名称
}

⭐⭐ 操作当前激活工作簿中的活动工作表

1
2
3
4
5
function operateActiveSheet() {
var activeSheet = ActiveWorkbook.ActiveSheet; // 获取当前激活的工作表
activeSheet.Cells(1, 1).Value = "Hello, WPS!"; // 在活动工作表的第一个单元格中输入文本
console.log("在活动工作表中输入了文本: " + activeSheet.Name); // 输出活动工作表的名称
}

⭐⭐ 遍历当前激活工作簿中的所有工作表

1
2
3
4
5
6
7
function iterateThroughSheets() {
var sheets = ActiveWorkbook.Sheets; // 获取当前激活工作簿中的所有工作表
for (var i = 1; i <= sheets.Count; i++) {
var sheet = sheets.Item(i); // 获取第 i 个工作表
console.log("工作表名称: " + sheet.Name); // 输出工作表的名称
}
}

Workbooks

Workbooks 是一个集合对象包含了所有当前打开的工作簿每个元素都是一个 Workbook 对象

常用属性

Count返回集合中工作簿的数量

  • 类型整数
  • 用法Workbooks.Count

Item返回集合中的特定工作簿可以通过索引或名称访问

  • 类型Workbook
  • 用法Workbooks.Item(index) 或 Workbooks.Item(name)

常用方法

Add添加一个新的工作簿到集合中

  • 返回值Workbook
  • 用法Workbooks.Add()

Open打开一个已存在的工作簿

  • 参数字符串文件路径
  • 返回值Workbook
  • 用法Workbooks.Open(“C:\path\to\file.xlsx”)

应用示例

⭐⭐ 获取所有打开的工作簿的名称

1
2
3
4
5
6
7
8
function listAllWorkbookNames() {
var workbooks = Workbooks;
var count = workbooks.Count; // 获取工作簿的数量
for (var i = 1; i <= count; i++) {
var workbook = workbooks.Item(i); // 获取第 i 个工作簿
console.log(workbook.Name); // 输出工作簿的名称
}
}

⭐⭐ 添加一个新的工作簿

1
2
3
4
function addNewWorkbook() {
var newWorkbook = Workbooks.Add(); // 添加一个新的工作簿
console.log("新工作簿已创建: " + newWorkbook.Name); // 输出新工作簿的名称
}

⭐⭐ 打开一个已存在的工作簿

1
2
3
4
5
function openExistingWorkbook() {
var filePath = "C:\\path\\to\\your\\file.xlsx"; // 工作簿的路径
var existingWorkbook = Workbooks.Open(filePath); // 打开指定路径的工作簿
console.log("已打开工作簿: " + existingWorkbook.Name); // 输出已打开的工作簿的名称
}

工作表

Sheet

Sheet 对象在 WPS 表格中代表一个工作表

ActiveSheet 对象在 WPS 表格中代表当前激活的工作表它继承了 Sheet 对象的所有属性和方法并且提供了一些特定于当前激活工作表的功能

常用属性

Name返回或设置工作表的名称

  • 类型字符串
  • 用法sheet.Name

Cells返回工作表中的单元格集合

  • 类型Range
  • 用法sheet.Cells(row, column)

Range返回工作表中的一个或多个单元格范围

  • 类型Range
  • 用法sheet.Range(“A1:B2”)

UsedRange返回工作表中已使用的单元格范围

  • 类型Range
  • 用法sheet.UsedRange

Rows返回工作表中的行集合

  • 类型Range
  • 用法sheet.Rows

Columns返回工作表中的列集合

  • 类型Range
  • 用法sheet.Columns

Parent返回包含该工作表的工作簿对象

  • 类型Workbook
  • 用法sheet.Parent

Index返回工作表在工作簿中的索引位置

  • 类型整数
  • 用法sheet.Index

Visible返回或设置工作表是否可见

  • 类型布尔值
  • 用法sheet.Visible

常用方法

Activate激活工作表

  • 用法sheet.Activate()

Copy复制工作表

  • 参数可选的目标位置
  • 用法sheet.Copy() 或 sheet.Copy(Before=sheet2)

Delete删除工作表

  • 用法sheet.Delete()

Move移动工作表

  • 参数可选的目标位置
  • 用法sheet.Move(After=sheet2)

Select选择工作表

  • 用法sheet.Select()

Sort对工作表中的数据进行排序

  • 参数排序范围关键字等
  • 用法sheet.Sort(Range(“A1:B10”), Key1=Range(“A1”))

应用示例

⭐⭐ 获取当前激活工作表的名称和索引

1
2
3
4
5
function getActiveSheetInfo() {
var sheet = ActiveSheet; // 获取当前激活的工作表
console.log("工作表名称: " + sheet.Name); // 输出工作表的名称
console.log("工作表索引: " + sheet.Index); // 输出工作表的索引
}

⭐⭐ 设置当前激活工作表的名称

1
2
3
4
5
function setActiveSheetName(newName) {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Name = newName; // 设置工作表的名称
console.log("工作表名称已更改为: " + sheet.Name); // 输出新的工作表名称
}

⭐⭐ 在当前激活工作表中输入数据

1
2
3
4
5
function inputData() {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Cells(1, 1).Value = "Hello, WPS!"; // 在 A1 单元格中输入文本
console.log("在 A1 单元格中输入了文本: " + sheet.Cells(1, 1).Value); // 输出 A1 单元格的内容
}

⭐⭐ 获取当前激活工作表中已使用的单元格范围

1
2
3
4
5
function getUsedRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var usedRange = sheet.UsedRange; // 获取已使用的单元格范围
console.log("已使用的单元格范围: " + usedRange.Address); // 输出已使用的单元格范围的地址
}

⭐⭐ 复制当前激活工作表

1
2
3
4
5
function copyActiveSheet() {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Copy(); // 复制工作表
console.log("工作表已复制: " + sheet.Name); // 输出已复制的工作表名称
}

⭐⭐ 删除当前激活工作表

1
2
3
4
5
function deleteActiveSheet() {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Delete(); // 删除工作表
console.log("工作表已删除: " + sheet.Name); // 输出已删除的工作表名称
}

⭐⭐ 移动当前激活工作表

1
2
3
4
5
function moveActiveSheet(targetSheet) {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Move(After=targetSheet); // 将工作表移动到目标工作表之后
console.log("工作表已移动: " + sheet.Name); // 输出已移动的工作表名称
}

⭐⭐ 选择当前激活工作表

1
2
3
4
5
function selectActiveSheet() {
var sheet = ActiveSheet; // 获取当前激活的工作表
sheet.Select(); // 选择工作表
console.log("已选择工作表: " + sheet.Name); // 输出已选择的工作表名称
}

⭐⭐ 对当前激活工作表中的数据进行排序

1
2
3
4
5
6
function sortActiveSheet() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var rangeToSort = sheet.Range("A1:B10"); // 定义要排序的范围
sheet.Sort(rangeToSort, Key1=sheet.Range("A1")); // 按 A 列排序
console.log("工作表已排序: " + sheet.Name); // 输出已排序的工作表名称
}

Sheets

Sheets 对象在 WPS 表格中代表一个工作簿中的所有工作表的集合

常用属性

Count返回集合中工作表的数量

  • 类型整数
  • 用法Sheets.Count

Item返回集合中的特定工作表可以通过索引或名称访问

  • 类型Sheet
  • 用法Sheets.Item(index) 或 Sheets.Item(name)

常用方法

Add在集合中添加一个新的工作表

  • 参数可选的目标位置
  • 用法Sheets.Add() 或 Sheets.Add(Before=sheet2)

Delete删除集合中的一个工作表

  • 参数要删除的工作表
  • 用法Sheets.Delete(sheet)

Move移动集合中的一个工作表

  • 参数可选的目标位置
  • 用法Sheets.Move(After=sheet2)

Copy复制集合中的一个工作表

  • 参数可选的目标位置
  • 用法Sheets.Copy(Before=sheet2)

应用示例

⭐⭐ 获取工作簿中所有工作表的数量

1
2
3
4
5
function getSheetCount() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
var sheetCount = workbook.Sheets.Count; // 获取工作表的数量
console.log("工作表数量: " + sheetCount); // 输出工作表的数量
}

⭐⭐ 获取特定工作表的名称

1
2
3
4
5
6
7
8
9
function getSheetName(indexOrName) {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
var sheet = workbook.Sheets.Item(indexOrName); // 获取特定工作表
console.log("工作表名称: " + sheet.Name); // 输出工作表的名称
}

// 调用示例
getSheetName(1); // 通过索引获取
getSheetName("Sheet1"); // 通过名称获取

⭐⭐ 添加一个新的工作表

1
2
3
4
5
function addNewSheet() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
var newSheet = workbook.Sheets.Add(); // 添加一个新的工作表
console.log("新工作表已创建: " + newSheet.Name); // 输出新工作表的名称
}

⭐⭐ 遍历所有工作表并输出名称

1
2
3
4
5
6
7
8
function iterateThroughSheets() {
var workbook = ActiveWorkbook; // 获取当前激活的工作簿
var sheets = workbook.Sheets; // 获取所有工作表的集合
for (var i = 1; i <= sheets.Count; i++) {
var sheet = sheets.Item(i); // 获取第 i 个工作表
console.log("工作表名称: " + sheet.Name); // 输出工作表的名称
}
}

单元格

Rows

Rows 对象在 WPS 表格中代表一个或多个行的集合

常用属性

Count返回集合中行的数量

  • 类型整数
  • 用法rows.Count

Item返回集合中的特定行可以通过索引访问

  • 类型Range
  • 用法rows.Item(index)

Height返回或设置行的高度

  • 类型双精度浮点数
  • 用法rows.Height

Hidden返回或设置行是否隐藏

  • 类型布尔值
  • 用法rows.Hidden

EntireRow返回行的整个范围

  • 类型Range
  • 用法rows.EntireRow

Cells返回行中的单元格集合

  • 类型Range
  • 用法rows.Cells

常用方法

Clear清除行中的所有内容

  • 用法rows.Clear()

ClearContents清除行中的内容但保留格式

  • 用法rows.ClearContents()

ClearFormats清除行中的格式但保留内容

  • 用法rows.ClearFormats()

Copy复制行

  • 参数可选的目标位置
  • 用法rows.Copy() 或 rows.Copy(Destination=range2)

Cut剪切行

  • 参数可选的目标位置
  • 用法rows.Cut() 或 rows.Cut(Destination=range2)

Delete删除行

  • 参数删除方式如 ShiftCellsUp
  • 用法rows.Delete()

Insert插入行

  • 参数可选的插入位置
  • 用法rows.Insert()

AutoFit自动调整行的高度以适应内容

  • 用法rows.AutoFit()

应用示例

⭐⭐ 获取行的数量

1
2
3
4
5
function getRowCount() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var rows = sheet.Rows; // 获取所有行的集合
console.log("行数量: " + rows.Count); // 输出行的数量
}

⭐⭐ 获取特定行的高度

1
2
3
4
5
function getRowHeight(rowIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
console.log("行高度: " + row.RowHeight); // 输出行的高度
}

⭐⭐ 设置特定行的高度

1
2
3
4
5
6
function setRowHeight(rowIndex, height) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.RowHeight = height; // 设置行的高度
console.log("行高度已设置为: " + row.RowHeight); // 输出行的高度
}

⭐⭐ 插入一行

1
2
3
4
5
6
function insertRow(rowIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.Insert(); // 在指定行之前插入一行
console.log("已在行 " + rowIndex + " 前插入一行"); // 输出插入行的信息
}

⭐⭐ 删除一行

1
2
3
4
5
6
function deleteRow(rowIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.Delete(); // 删除指定行
console.log("已删除行 " + rowIndex); // 输出删除行的信息
}

⭐⭐ 清除行的内容

1
2
3
4
5
6
function clearRowContents(rowIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.ClearContents(); // 清除行的内容
console.log("行 " + rowIndex + " 的内容已清除"); // 输出清除内容的信息
}

⭐⭐ 自动调整行的高度

1
2
3
4
5
6
function autoFitRow(rowIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.AutoFit(); // 自动调整行的高度
console.log("行 " + rowIndex + " 的高度已自动调整"); // 输出自动调整高度的信息
}

⭐⭐ 隐藏和显示行

1
2
3
4
5
6
7
8
9
10
function toggleRowVisibility(rowIndex, hide) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var row = sheet.Rows.Item(rowIndex); // 获取特定行
row.Hidden = hide; // 设置行的隐藏状态
if (hide) {
console.log("行 " + rowIndex + " 已隐藏"); // 输出隐藏行的信息
} else {
console.log("行 " + rowIndex + " 已显示"); // 输出显示行的信息
}
}

Columns

Columns 对象在 WPS 表格中代表一个或多个列的集合

常用属性

Count返回集合中列的数量

  • 类型整数
  • 用法columns.Count

Item返回集合中的特定列可以通过索引访问

  • 类型Range
  • 用法columns.Item(index)

Width返回或设置列的宽度

  • 类型双精度浮点数
  • 用法columns.Width

Hidden返回或设置列是否隐藏

  • 类型布尔值
  • 用法columns.Hidden

EntireColumn返回列的整个范围

  • 类型Range
  • 用法columns.EntireColumn

Cells返回列中的单元格集合

  • 类型Range
  • 用法columns.Cells

常用方法

Clear清除列中的所有内容

  • 用法columns.Clear()

ClearContents清除列中的内容但保留格式

  • 用法columns.ClearContents()

ClearFormats清除列中的格式但保留内容

  • 用法columns.ClearFormats()

Copy复制列

  • 参数可选的目标位置
  • 用法columns.Copy() 或 columns.Copy(Destination=range2)

Cut剪切列

  • 参数可选的目标位置
  • 用法columns.Cut() 或 columns.Cut(Destination=range2)

Delete删除列

  • 参数删除方式如 ShiftCellsLeft
  • 用法columns.Delete()

Insert插入列

  • 参数可选的插入位置
  • 用法columns.Insert()

AutoFit自动调整列的宽度以适应内容

  • 用法columns.AutoFit()

应用示例

⭐⭐ 获取列的数量

1
2
3
4
5
function getColumnCount() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var columns = sheet.Columns; // 获取所有列的集合
console.log("列数量: " + columns.Count); // 输出列的数量
}

⭐⭐ 获取特定列的宽度

1
2
3
4
5
function getColumnWidth(columnIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
console.log("列宽度: " + column.ColumnWidth); // 输出列的宽度
}

⭐⭐ 设置特定列的宽度

1
2
3
4
5
6
function setColumnWidth(columnIndex, width) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.ColumnWidth = width; // 设置列的宽度
console.log("列宽度已设置为: " + column.ColumnWidth); // 输出列的宽度
}

⭐⭐ 插入一列

1
2
3
4
5
6
function insertColumn(columnIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.Insert(); // 在指定列之前插入一列
console.log("已在列 " + columnIndex + " 前插入一列"); // 输出插入列的信息
}

⭐⭐ 删除一列

1
2
3
4
5
6
function deleteColumn(columnIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.Delete(); // 删除指定列
console.log("已删除列 " + columnIndex); // 输出删除列的信息
}

⭐⭐ 清除列的内容

1
2
3
4
5
6
function clearColumnContents(columnIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.ClearContents(); // 清除列的内容
console.log("列 " + columnIndex + " 的内容已清除"); // 输出清除内容的信息
}

⭐⭐ 自动调整列的宽度

1
2
3
4
5
6
function autoFitColumn(columnIndex) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.AutoFit(); // 自动调整列的宽度
console.log("列 " + columnIndex + " 的宽度已自动调整"); // 输出自动调整宽度的信息
}

⭐⭐ 隐藏和显示列

1
2
3
4
5
6
7
8
9
10
function toggleColumnVisibility(columnIndex, hide) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var column = sheet.Columns.Item(columnIndex); // 获取特定列
column.Hidden = hide; // 设置列的隐藏状态
if (hide) {
console.log("列 " + columnIndex + " 已隐藏"); // 输出隐藏列的信息
} else {
console.log("列 " + columnIndex + " 已显示"); // 输出显示列的信息
}
}

Cells

Cells 对象在 WPS 表格中代表一个或多个单元格的集合

常用属性

Value返回或设置单元格的值

  • 类型变体可以是数字字符串等
  • 用法cell.Value

Formula返回或设置单元格的公式

  • 类型字符串
  • 用法cell.Formula

Address返回单元格的地址

  • 类型字符串
  • 用法cell.Address

Row返回单元格所在的行号

  • 类型整数
  • 用法cell.Row

Column返回单元格所在的列号

  • 类型整数
  • 用法cell.Column

Interior返回或设置单元格的内部格式如颜色

  • 类型Interior
  • 用法cell.Interior.Color

Font返回或设置单元格的字体格式

  • 类型Font
  • 用法cell.Font.Bold

Borders返回或设置单元格的边框格式

  • 类型Borders
  • 用法cell.Borders.LineStyle

常用方法

Clear清除单元格的所有内容

  • 用法cell.Clear()

ClearContents清除单元格的内容但保留格式

  • 用法cell.ClearContents()

ClearFormats清除单元格的格式但保留内容

  • 用法cell.ClearFormats()

Copy复制单元格

  • 参数可选的目标位置
  • 用法cell.Copy() 或 cell.Copy(Destination=range2)

Cut剪切单元格

  • 参数可选的目标位置
  • 用法cell.Cut() 或 cell.Cut(Destination=range2)

Delete删除单元格

  • 参数删除方式如 ShiftCellsUp
  • 用法cell.Delete()

Merge合并单元格

  • 用法cell.Merge()

UnMerge拆分合并的单元格

  • 用法cell.UnMerge()

应用示例

⭐⭐ 获取单元格的值

1
2
3
4
5
function getCellValue(row, column) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
console.log("单元格值: " + cell.Value); // 输出单元格的值
}

⭐⭐ 设置单元格的值

1
2
3
4
5
6
function setCellValue(row, column, value) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
cell.Value = value; // 设置单元格的值
console.log("单元格值已设置为: " + cell.Value); // 输出单元格的值
}

⭐⭐ 获取单元格的地址

1
2
3
4
5
function getCellAddress(row, column) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
console.log("单元格地址: " + cell.Address); // 输出单元格的地址
}

⭐⭐ 设置单元格的公式

1
2
3
4
5
6
function setCellFormula(row, column, formula) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
cell.Formula = formula; // 设置单元格的公式
console.log("单元格公式已设置为: " + cell.Formula); // 输出单元格的公式
}

⭐⭐ 清除单元格的内容

1
2
3
4
5
6
function clearCellContents(row, column) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
cell.ClearContents(); // 清除单元格的内容
console.log("单元格内容已清除: " + cell.Address); // 输出单元格的地址
}

⭐⭐ 设置单元格的格式

1
2
3
4
5
6
7
function formatCell(row, column) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var cell = sheet.Cells(row, column); // 获取特定单元格
cell.Interior.Color = RGB(255, 0, 0); // 设置背景色为红色
cell.Font.Bold = true; // 设置字体为加粗
console.log("单元格格式已设置: " + cell.Address); // 输出单元格的地址
}

⭐⭐ 合并单元格

1
2
3
4
5
6
function mergeCells(startRow, startColumn, endRow, endColumn) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range(sheet.Cells(startRow, startColumn), sheet.Cells(endRow, endColumn)); // 获取要合并的范围
range.Merge(); // 合并单元格
console.log("单元格已合并: " + range.Address); // 输出合并的范围地址
}

⭐⭐ 拆分合并的单元格

1
2
3
4
5
6
function unmergeCells(startRow, startColumn, endRow, endColumn) {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range(sheet.Cells(startRow, startColumn), sheet.Cells(endRow, endColumn)); // 获取要拆分的范围
range.UnMerge(); // 拆分单元格
console.log("单元格已拆分: " + range.Address); // 输出拆分的范围地址
}

Range

Range 对象在 WPS 表格中代表一个或多个单元格的范围

常用属性

Address返回或设置范围的地址

  • 类型字符串
  • 用法range.Address

Value返回或设置范围中的值

  • 类型变体可以是数字字符串等
  • 用法range.Value

Formula返回或设置范围中的公式

  • 类型字符串
  • 用法range.Formula

Cells返回范围内的单元格集合

  • 类型Range
  • 用法range.Cells

Rows返回范围内的行集合

  • 类型Range
  • 用法range.Rows

Columns返回范围内的列集合

  • 类型Range
  • 用法range.Columns

Count返回范围内的单元格数量

  • 类型整数
  • 用法range.Count

Parent返回包含该范围的工作表对象

  • 类型Worksheet
  • 用法range.Parent

Interior返回或设置范围内的单元格内部格式如颜色

  • 类型Interior
  • 用法range.Interior.Color

Font返回或设置范围内的单元格字体格式

  • 类型Font
  • 用法range.Font.Bold

常用方法

Clear清除范围内的所有内容

  • 用法range.Clear()

ClearContents清除范围内的内容但保留格式

  • 用法range.ClearContents()

ClearFormats清除范围内的格式但保留内容

  • 用法range.ClearFormats()

Copy复制范围

  • 参数可选的目标位置
  • 用法range.Copy() 或 range.Copy(Destination=range2)

Cut剪切范围

  • 参数可选的目标位置
  • 用法range.Cut() 或 range.Cut(Destination=range2)

Delete删除范围

  • 参数删除方式如 ShiftCellsUp
  • 用法range.Delete()

EntireRow返回范围所在的所有行

  • 用法range.EntireRow

EntireColumn返回范围所在的所有列

  • 用法range.EntireColumn

Find在范围内查找特定值

  • 参数查找值查找范围等
  • 用法range.Find(“value”)

Sort对范围内的数据进行排序

  • 参数排序范围关键字等
  • 用法range.Sort(Key1=range1, Order1=xlAscending)

应用示例

⭐⭐ 获取范围的地址和值

1
2
3
4
5
6
function getRangeInfo() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B2"); // 定义范围
console.log("范围地址: " + range.Address); // 输出范围的地址
console.log("范围值: " + range.Value); // 输出范围的值
}

⭐⭐ 设置范围的值

1
2
3
4
5
6
function setRangeValue() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1"); // 定义范围
range.Value = "Hello, WPS!"; // 设置范围的值
console.log("A1 单元格的值已设置为: " + range.Value); // 输出 A1 单元格的值
}

⭐⭐ 清除范围的内容

1
2
3
4
5
6
function clearRangeContents() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B2"); // 定义范围
range.ClearContents(); // 清除范围的内容
console.log("范围内容已清除: " + range.Address); // 输出范围的地址
}

⭐⭐ 复制范围

1
2
3
4
5
6
7
function copyRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var sourceRange = sheet.Range("A1:B2"); // 定义源范围
var destinationRange = sheet.Range("C1:D2"); // 定义目标范围
sourceRange.Copy(destinationRange); // 复制源范围到目标范围
console.log("范围已复制: " + sourceRange.Address + " 到 " + destinationRange.Address); // 输出源和目标范围的地址
}

⭐⭐ 删除范围

1
2
3
4
5
6
function deleteRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B2"); // 定义范围
range.Delete(); // 删除范围
console.log("范围已删除: " + range.Address); // 输出范围的地址
}

⭐⭐ 设置范围的格式

1
2
3
4
5
6
7
function formatRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B2"); // 定义范围
range.Interior.Color = RGB(255, 0, 0); // 设置背景色为红色
range.Font.Bold = true; // 设置字体为加粗
console.log("范围格式已设置: " + range.Address); // 输出范围的地址
}

⭐⭐ 查找特定值

1
2
3
4
5
6
7
8
9
10
function findValueInRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B10"); // 定义范围
var foundCell = range.Find("Hello"); // 查找特定值
if (foundCell) {
console.log("找到值 'Hello' 在单元格: " + foundCell.Address); // 输出找到的单元格地址
} else {
console.log("未找到值 'Hello'"); // 输出未找到的提示
}
}

⭐⭐ 对范围内的数据进行排序

1
2
3
4
5
6
function sortRange() {
var sheet = ActiveSheet; // 获取当前激活的工作表
var range = sheet.Range("A1:B10"); // 定义范围
range.Sort(Key1=sheet.Range("A1"), Order1=1); // 按 A 列升序排序
console.log("范围已排序: " + range.Address); // 输出范围的地址
}

输入输出

alert

用于显示一个警告对话框向用户显示一条消息

1
alert("提醒信息");

InputBox

InputBox 函数用于创建一个对话框让用户输入文本或其他类型的信息这个函数可以接收多个参数以定制对话框的外观和行为

1
InputBox(prompt, [title], [default], [type]);

可选参数

  • Prompt (必填): 作为对话框内的提示信息告诉用户应该输入什么样的信息
  • Title (可选): 设置对话框窗口的标题如果不提供默认可能是应用程序的名字
  • Default (可选): 设定输入框内的默认值这可以作为用户的参考或者提示
  • Type (可选): 指定用户输入的类型不同的类型会影响返回值的格式
    • 0 或省略: 默认值返回文本字符串
    • 1: 数字整数或浮点数
    • 2: 公式
    • 3: 文本字符串与 0 相同
    • 4: 单元格引用例如 A1
    • 5: 错误值例如 #N/A
    • 6: 数组

返回值

  • 如果用户点击了确定按钮InputBox 函数将返回用户输入的内容根据指定的类型
  • 如果用户点击取消按钮或关闭对话框时InputBox 函数将返回一个空字符串 (“”)nullfalse 视情况而定

应用示例

⭐⭐ 简单的输入对话框

1
2
3
4
5
6
7
8
9
10
11
function InputBox01() {
// 获取用户的姓名
var name = Application.InputBox("请输入您的姓名:", "欢迎", "默认姓名");

// 检查用户是否点击了取消或关闭了对话框
if (name === "" || name === false || name === null) {
Console.log("操作已取消");
} else {
Console.log(name);
}
}

⭐⭐ 指定输入类型

1
2
3
4
5
6
7
8
9
10
11
function InputBox02() {
// 请求用户输入一个数字
var age = Application.InputBox("请输入您的年龄:", "年龄确认", 18, 1); // 类型1表示数字

// 检查用户是否点击了取消或关闭了对话框
if (age === "" || age === false || age === null) {
Console.log("操作已取消");
} else {
Console.log(age);
}
}

MsgBox

MsgBox 函数用于显示一个消息对话框向用户显示一条消息这个函数可以接受多个参数以定制对话框的外观和行为

1
MsgBox(message, [buttons], [title]);

可选参数

  • message (必填): 要显示的消息文本
  • buttons (可选): 指定对话框上显示的按钮和图标可以组合使用以下值
    • 0 (默认): 仅显示确定按钮
    • 1: 显示确定取消按钮
    • 2: 显示中止重试忽略按钮
    • 3: 显示取消按钮
    • 4: 显示按钮
    • 5: 显示重试取消按钮
    • 16: 停止图标错误
    • 32: 问号图标询问
    • 48: 警告图标警告
    • 64: 信息图标信息
  • title (可选): 对话框的标题如果不提供默认为Microsoft Excel或相应的应用程序名称

返回值

返回用户点击的按钮的值

  • 点击确定返回1
  • 点击取消返回2
  • 点击中止返回3
  • 点击重试返回4
  • 点击忽略返回5
  • 点击是返回6
  • 点击否返回7

应用示例

⭐⭐ 基本用法

1
MsgBox("这是一个简单的信息对话框");

⭐⭐ 显示错误对话框

1
MsgBox("发生了一个错误", 16, "错误");

⭐⭐ 显示警告对话框

1
MsgBox("请注意这是一个警告对话框", 48, "警告");

⭐⭐ 显示询问对话框

1
2
3
4
5
6
7
// 显示一个询问对话框
var result = MsgBox("您确定要继续吗", 1 | 32, "询问");
if (result === 1) {
MsgBox("您选择了确定", 64, "信息");
} else if (result === 2) {
MsgBox("您选择了取消", 64, "信息");
}

学习资源