使用 Excel 加载项自动移动屏幕以查看选择
Automatically move the screen to view the selection with an Excel add-in
我想为工作簿中的一个范围创建一个函数 select 并在屏幕上显示该范围。我的测试表明 select()
确实 select 一个范围,但它并不总是自动适应屏幕以显示 selection。
例如,我尝试通过以下代码select并在Excel for Windows
下显示Z10:Z10
。但是selection之后,屏幕不动:
Office.initialize = function(reason) {
$(document).ready(function() {
app.initialize();
$('#testSelect').click(function() { select("Z10:Z10", "Sheet1") });
});
};
function select (rangeAddress, sheetName) {
Excel.run(function (ctx) {
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.select();
return ctx.sync();
});
}
有人能帮忙吗?
代码完成后回调中的一个选项是绑定到范围,然后 navigate 绑定到它:
Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Matrix, {id: "myBinding"}, function(asyncResult){
Office.context.goToByIdAsync("myBinding", Office.GoToType.Binding, function(asyncResult){});
});
-Michael Saunders,Office 加载项项目经理
这似乎是 API 中的错误(或回归)。该团队目前正在调查此事。就解决方法而言,Michael Saunders 上面的建议可能是您最好的短期选择。
更新:这确实是 Excel 桌面客户端中的错误(或回归)。我们今天已经修复了它,因此对于 Office 365/Click-to-运行 用户,它应该在下一次更新时可用(即在几个月内)。
~ Michael Zlatkovsky,Office 可扩展性团队开发人员,MSFT
我想为工作簿中的一个范围创建一个函数 select 并在屏幕上显示该范围。我的测试表明 select()
确实 select 一个范围,但它并不总是自动适应屏幕以显示 selection。
例如,我尝试通过以下代码select并在Excel for Windows
下显示Z10:Z10
。但是selection之后,屏幕不动:
Office.initialize = function(reason) {
$(document).ready(function() {
app.initialize();
$('#testSelect').click(function() { select("Z10:Z10", "Sheet1") });
});
};
function select (rangeAddress, sheetName) {
Excel.run(function (ctx) {
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.select();
return ctx.sync();
});
}
有人能帮忙吗?
代码完成后回调中的一个选项是绑定到范围,然后 navigate 绑定到它:
Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Matrix, {id: "myBinding"}, function(asyncResult){
Office.context.goToByIdAsync("myBinding", Office.GoToType.Binding, function(asyncResult){});
});
-Michael Saunders,Office 加载项项目经理
这似乎是 API 中的错误(或回归)。该团队目前正在调查此事。就解决方法而言,Michael Saunders 上面的建议可能是您最好的短期选择。
更新:这确实是 Excel 桌面客户端中的错误(或回归)。我们今天已经修复了它,因此对于 Office 365/Click-to-运行 用户,它应该在下一次更新时可用(即在几个月内)。
~ Michael Zlatkovsky,Office 可扩展性团队开发人员,MSFT