2016-10-17 6 views
0

Ich versuche, durch Tabellen in Excel iterieren mit Büro jsdurch Tabellen in Excel mac Iterieren Büro js benutzt nicht

Hier ist der Code Probe (das gleiche wie ein in der Dokumentation hier https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/tablecollection.md):

Excel.run(function (ctx) { 
    var tables = ctx.workbook.tables; 
    tables.load('items'); 
    return ctx.sync().then(function() { 
     console.log("tables Count: " + tables.count); 
     for (var i = 0; i < tables.items.length; i++) 
     { 
      console.log(tables.items[i].name); 
     } 
    }); 
}).catch(function(error) { 
     console.log("Error: " + error); 
     if (error instanceof OfficeExtension.Error) { 
      console.log("Debug info: " + JSON.stringify(error.debugInfo)); 
     } 
}); 

Holen Sie sich die Anzahl der Tabellen.

Excel.run(function (ctx) { 
    var tables = ctx.workbook.tables; 
    tables.load('count'); 
    return ctx.sync().then(function() { 
     console.log(tables.count); 
    }); 
}).catch(function(error) { 
     console.log("Error: " + error); 
     if (error instanceof OfficeExtension.Error) { 
      console.log("Debug info: " + JSON.stringify(error.debugInfo)); 
     } 
}); 

Der Code funktioniert korrekt auf Windows Excel 2016 aber auf Mac Excel 2016 beide Codebeispiele einen Fehler des Typs werfen: "General Exception" und Fehlerstelle: "TableCollection.count"

Antwort

0

Wir haben versucht, das Problem zu reproduzieren, bekommen aber nicht die "Allgemeine Ausnahme". Wir werden einen Fehler im ersten Beispiel von „PropertyNotLoaded“ bekommen, obwohl das in dem Sinne verständlich ist, dass die Probe etwas falsch ist, sollte die Ladeanweisung seine tables.load('name, count') statt tables.load('items'). Aber das erklärt immer noch nicht den Fehler. Und die zweiten Samples sollten gut funktionieren.

Führen Sie dies auf einem vorhandenen Dokument aus? Gibt es etwas Besonderes an diesem Dokument? Wenn Sie diesen Code gegen ein komplett neues Dokument mit ein paar Tabellen ausführen würden, würde es dann funktionieren? Wie lautet die Versionsnummer Ihrer Office-Version für Mac?

+0

Ich habe ein ähnliches Problem auf dem Mac-Client. Für eine neue Arbeitsmappe –

+1

Für eine neue Arbeitsmappe, die 'var tables = ctx.workbook.tables; tables.load(); 'gibt einen Fehler aus, anstatt Erfolg mit tables.count = 0 und einer leeren Auflistung von tables.items zurückzugeben. Der Fehler ist '{" errorLocation ":" TableCollection.count "}'. In meinem Fall, wenn ich die API verwende, um dann Tabellen hinzuzufügen, tritt der Fehler immer noch auf, obwohl Tabellen existieren. Die einzige Möglichkeit, um dieses Problem zu umgehen, besteht darin, die Arbeitsmappe zu speichern und erneut zu öffnen. Dann funktioniert der tables.load() - Code einwandfrei. Nur bei neuen Arbeitsmappen sehe ich das Problem. –

+0

Mac Version 15.30 (170107) –

Verwandte Themen