Google листы не отображают функцию в моем скрипте - PullRequest
0 голосов
/ 23 мая 2018

Я очень новичок в использовании Google Scripts.У меня есть эта очень основная проблема, но я не могу найти объяснение.Я запрограммировал функцию в Google Sheets (открывая редактор скриптов из того же листа, в котором я хочу попробовать код).Оказывается, когда я хочу использовать свою функцию, Google Sheets не находит ее.Это означает, что когда я набираю «=» плюс имя функции, я не могу ее найти.Мой код следующий:

function distance(origin,destination) {

    var mapObj = Maps.newDirectionFinder()

    mapObj.setMode(Maps.DirectionFinder.Mode.DRIVING)

    //Set the Orgin
    mapObj.setOrigin(origin)

    //Set the Destination
    mapObj.setDestination(destination)

    //Retrieve the Distance
    var directions = mapObj.getDirections();
    var meters = directions["routes"][0]["legs"][0]["distance"]["value"];
}

Буду признателен за любую помощь !!

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я скопировал вашу функцию, и она, кажется, отсутствует!Я не могу найти ссылку, но я думаю, что "расстояние" зарезервировано каким-то образом.Если вы измените имя своей функции на getDistance (), она будет работать нормально.

/**
 * Calculate the distance between origin and destination
 *
 * @param {Sheet3!B32}  reference  Cell or range to monitor.
 * @returns                        The distance.
 * @customfunction
 */
function getDistance(origin,destination) {
...
}

Если вы добавите комментарий jsDoc перед функцией, как у меня, intellisense будет работать -т.е. когда вы набираете «=» в строке формул, содержимое вашего комментария будет отображаться:

enter image description here

0 голосов
/ 23 мая 2018

Не совсем точно, что вы подразумеваете под "листами не найти".Вот несколько советов, которые могут помочь:

  1. Вы можете легко добавить пользовательское меню в любой документ с помощью следующего кода:

    function onOpen () {var ui= SpreadsheetApp.getUi ();var menu = ui.createMenu («Меню моего скрипта»);menu.addItem («Пункт меню 1», «function1»). addToUi ();menu.addItem («Пункт меню 2», «function2»). addToUi ();...так далее.}

Когда вы откроете документ, появится пользовательское меню (подождите несколько секунд), и вы сможете выбрать «function1» из «My Script Menu».

Когда откроется ваш проект скрипта Google Apps, в меню «Отладка» не будет выбрано ни одной функции.Убедитесь, что вы выбираете функцию, которую хотите запустить, если используете отладчик:

Google Apps Script Debugger

Нажмите стрелку вниз и затем выберитефункция, которую вы хотите запустить.

...