Api.GetWorkbook is not a function when to get worksheets number

My environment: Windows 10(x64) + Community version 9.1.0.167 (x64 exe)

(function() {
    var oWorkbook = Api.GetWorkbook();
    var oSheets = oWorkbook.GetSheets();
    var sheetCount = oSheets.Count;
    console.log(sheetCount);
})();

It can’t get worksheets number!The error info:

sdk-all-min.js:1535 TypeError: Api.GetWorkbook is not a function
    at eval (eval at <anonymous> (eval at <anonymous> (sdk-all-min.js:1535:123)), <anonymous>:3:25)
    at eval (eval at <anonymous> (eval at <anonymous> (sdk-all-min.js:1535:123)), <anonymous>:7:3)
    at eval (eval at <anonymous> (sdk-all-min.js:1535:123), <anonymous>:3:8)
    at h (sdk-all-min.js:1530:72)
    at a.AscCommon.sQc (sdk-all-min.js:1535:393)
    at f.AEg (sdk-all.js:18883:149)
    at f.Cad (sdk-all.js:18882:156)
    at d.Cad (sdk-all-min.js:1657:238)
    at o.onRunMacros (code.js:2:302421)
    at Zt (app.js:8:94698)

Hello @withonly

There is no such method as GetWorkbook. You should use GetActiveWorkbook instead. Also, Count won’t return anything, because it is not a Office API method, nor JavaScript operator and GetSheets method returns a collection of sheets, which is an array. Instead you can use property length to get number of items in the array.

Here is complete sample:

(function() {
    var oWorkbook = Api.GetActiveWorkbook();
    var oSheets = oWorkbook.GetSheets();
    var sheetCount = oSheets.length;
    console.log(sheetCount);
})();