【问题标题】:Automatically move the screen to view the selection with an Excel add-in使用 Excel 加载项自动移动屏幕以查看选择
【发布时间】:2016-07-01 07:00:41
【问题描述】:

我想创建一个函数来选择工作簿中的范围并在屏幕上可视化该范围。我的测试表明select() 确实选择了一个范围,但它并不总是自动适应屏幕以显示选择。

例如,我尝试通过以下代码在Excel for Windows 下选择并显示Z10:Z10。但是选择后,屏幕不动:

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(); 
    });
}

有人可以帮忙吗?

【问题讨论】:

    标签: ms-office office-js


    【解决方案1】:

    这似乎是 API 中的错误(或回归)。团队现在正在研究它。就解决方法而言,Michael Saunders 上面的建议可能是您最好的短期选择。

    更新:这确实是 Excel 桌面客户端中的错误(或回归)。我们今天已经修复了它,因此对于 Office 365 / Click-to-Run 用户,它应该可以在下一次更新(即几个月内)中使用。

    ~ Michael Zlatkovsky,Microsoft Office 可扩展性团队开发人员

    【讨论】:

    • 确认是回归。查看更新以回答。
    【解决方案2】:

    代码完成后回调中的一个选项是绑定到范围,然后将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 插件产品经理

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-25
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多