工作簿

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 函数将返回一个空字符串 (“”)、null、false 视情况而定。

应用示例

⭐⭐ 简单的输入对话框

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, "信息");
}

学习资源

  • 文档
    • 【官方文档】https://open.wps.cn/previous/docs/client/wpsLoad