如何获取 office.js 中的所有名称(不是值)?
How to get the all names (not values) in office.js?
我有几个 "named" 范围。我正在尝试获取范围的 name,而不是值。
我试过以下方法:
$("#get-values").click(getValues);
async function getValues() {
try {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("FormName");
const valm = sheet.names;
valm.load("names");
await context.sync();
console.log(JSON.stringify(valm.names));
});
} catch (error) {
OfficeHelpers.UI.notify(error);
OfficeHelpers.Utilities.log(error);
}
}
我不知道如何从上面的脚本中获取名字
在 Excel 中,命名范围是集合 .Names
的一部分。找到一种方法来引用这个集合并循环它。在 VBA 中是这样的:
Option Explicit
Public Sub TestMe()
Dim name As name
For Each name In ThisWorkbook.names
Debug.Print name
Debug.Print name.NameLocal
Next name
End Sub
names
集合可在工作簿级别访问:
async function run() {
await Excel.run(async (context) => {
var names = context.workbook.names;
names.load();
await context.sync();
console.log(JSON.stringify(names));
});
}
这将导致 NamedItemCollection
包含 NotedItems
类似于:
{
"comment": "",
"name": "Range Name",
"scope": "Workbook",
"type": "Range",
"value": "Sheet1!$A:$C",
"visible": true
}
范围的地址保存在 value
属性 中。您可以使用它来确定找到给定范围的 sheet。
我有几个 "named" 范围。我正在尝试获取范围的 name,而不是值。
我试过以下方法:
$("#get-values").click(getValues);
async function getValues() {
try {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("FormName");
const valm = sheet.names;
valm.load("names");
await context.sync();
console.log(JSON.stringify(valm.names));
});
} catch (error) {
OfficeHelpers.UI.notify(error);
OfficeHelpers.Utilities.log(error);
}
}
我不知道如何从上面的脚本中获取名字
在 Excel 中,命名范围是集合 .Names
的一部分。找到一种方法来引用这个集合并循环它。在 VBA 中是这样的:
Option Explicit
Public Sub TestMe()
Dim name As name
For Each name In ThisWorkbook.names
Debug.Print name
Debug.Print name.NameLocal
Next name
End Sub
names
集合可在工作簿级别访问:
async function run() {
await Excel.run(async (context) => {
var names = context.workbook.names;
names.load();
await context.sync();
console.log(JSON.stringify(names));
});
}
这将导致 NamedItemCollection
包含 NotedItems
类似于:
{
"comment": "",
"name": "Range Name",
"scope": "Workbook",
"type": "Range",
"value": "Sheet1!$A:$C",
"visible": true
}
范围的地址保存在 value
属性 中。您可以使用它来确定找到给定范围的 sheet。