2016-07-01 6 views
1

Ich möchte eine Funktion zum Auswählen eines Bereichs in einer Arbeitsmappe und visualisieren Sie diesen Bereich auf dem Bildschirm. Mein Test zeigt, dass select() einen Bereich auswählt, während es den Bildschirm nicht immer automatisch anpasst, um die Auswahl anzuzeigen.Automatisch den Bildschirm bewegen, um die Auswahl mit einem Excel-Add-in anzuzeigen

Zum Beispiel versuche ich Z10:Z10 unter Excel for Windows mit dem folgenden Code auszuwählen und anzuzeigen. Aber nach der Auswahl bewegt sich der Bildschirm nicht:

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

Konnte jemand helfen?

Antwort

0

Eine Möglichkeit hier in dem Rückruf nach dem Code abgeschlossen ist, um den Bereich zu binden und dann navigate es:

Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Matrix, {id: "myBinding"}, function(asyncResult){ 
    Office.context.goToByIdAsync("myBinding", Office.GoToType.Binding, function(asyncResult){}); 
}); 

-Michael Saunders, PM für Office-Add-In

1

Dies scheint ein Fehler (oder eine Regression) in den APIs sein. Das Team untersucht es gerade. In Bezug auf eine Workaround, was Michael Saunders oben vorgeschlagen ist wahrscheinlich Ihre beste kurzfristige Wette.

Update: Dies ist in der Tat ein Fehler (oder Regression) in der Excel-Desktop-Client. Wir haben es heute behoben, so dass es für Office 365/Click-to-Run-Benutzer mit der nächsten Aktualisierung verfügbar sein sollte (d. H. Innerhalb von ein paar Monaten).

~ Michael Zlatkovsky, Entwickler für Office Extensibility Team, MSFT

+0

Bestätigt, dass es eine Regression ist. Siehe Update zur Antwort. –

Verwandte Themen