1

Topic: Всплывающие изображения при наведениии или нажатии на ячейку

Здравствуйте! во первых, спасибо вам за интересный раздел.
Сам я часто использую гугл таблицы и недавно начал осваивать google apps script.
К сожалению в сети мало инструкций и примеров на русском, поэтому у меня есть несколько вопросов по решению задач скриптами.
1 Есть таблица со ссылками на фото. В каждой ячейке своя картинка.
2 Я сделал отображение картинки в ячейке с помощью формулы. Изображение сжато пропорционально ширине и высоте ячейки.
Вопрос: как можно сделать всплывающие картинки, чтобы при наведении или нажатии на ячейку фотография всплывала в окне для просмотра.

Благодарю за любую помощь!

Если вас никто не критикует – значит успеха вы еще не добились.

2 (edited by PunBB 2016.07.15 12:49)

Re: Всплывающие изображения при наведениии или нажатии на ячейку

YT007 wrote:

как можно сделать всплывающие картинки, чтобы при наведении или нажатии на ячейку фотография всплывала в окне для просмотра.
Благодарю за любую помощь!

Вам нужно создать функцию в разделе Инструменты - Редактор скриптов
Затем создать функцию и вставить ее в ячейку

В саму функцию добавьте вызов окна и HTML с помощью класса HtmlOutput()

К примеру так:

// Display a modeless dialog box with custom HtmlService content.
 var htmlOutput = HtmlService
     .createHtmlOutput('<p>Привет! Я ХТМЛ код. Настрой меня по своему вкусу!..</p>')
     .setWidth(250)
     .setHeight(300);
 SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');

 // Display a modeless dialog box with custom UiApp content.
 var uiInstance = UiApp.createApplication()
     .setWidth(250)
     .setHeight(300);
 uiInstance.add(uiInstance.createLabel('The photograph on the dashboard taken years ago...'));
 SpreadsheetApp.getUi().showModelessDialog(uiInstance, 'My add-on');

Это весь код в функцию, а функцию в ячейку

3 (edited by Sh0wn 2020.02.20 14:23)

Re: Всплывающие изображения при наведениии или нажатии на ячейку

Доброго времени суток!

Столкнулся со схожей задачей от жены: надо выводить различные картинки во всплывающем окошке в гугл таблицах.

PunBB, Ваша функция частично с этим справляется, (вторая ее часть не работает, так как гугл прекратил поддержку Ui, насколько я понял, но не суть, окошко выводит, картинку по ссылке вставляет, все устраивает)

Есть таблица, в одной ячейке наименование, в другой ссылка на картинку.

Задача такая:
Брать из первой ячейки наименование и ставить его в заголовок всплывающего окна, а из второй ячейки брать ссылку и подставлять в HTML код того самого окна.

В идеале бы конечно, что бы функция срабатывала когда ячейка ставновится активной (выделенной) и использовала соответствующие ячейки. Это было бы оптимальным вариантом.
В крайнем случае есть и резервный план активации функции через "кнопку" и прописывания отдельной функции под каждую кнопку и позицию в таблице.

В интернетах ничего толкового по этому вопросу не нашел (хотя может и не смог разобраться).
Моих скромных знаний и скудного опыта в этой сфере не хватает, что бы "допилить" вашу функцию:

  // Отображение немодального диалогового окна с пользовательским содержимым HtmlService.
  var sheet = SpreadsheetApp.getActiveSheet();  // Ссылаемся на текущий лист таблицы в соответствии с иерархией. В переменной sheet будет ссылка на наш лист
  var cell1 = sheet.getActiveCell().getValues()  //Должен быть не ActiveCell, а адресация к параметру1 функции прописанной в ячейке
  var cell2 = sheet.getActiveCell().getValues()  //Должен быть не ActiveCell, а адресация к параметру2 функции прописанной в ячейке
  var htmlOutput = HtmlService
    .createHtmlOutput('<img src='+ cell2 + ' width=430 height=280>')  //указываем путь к картинке и ее параметрами
    .setWidth(450)  //Ширина окошка                                                                                                             
    .setHeight(300);  //Высота окошка
  SpreadsheetApp.getUi().showModelessDialog(htmlOutput, ' ').setTitle(cell1);  //вызывает само окно с заголовком и картинкой 
  

Так вот собственно вопросы:

1. Возможно ли мне указать в параметрах функции, прописываемой в ячейке, конкретные ячейки, из которых брать значения для подстановки в функцию?

2. Можно ли как-то указать триггером (или условием срабатывания в теле самой функции) активацию (выделение) ячейки? или придется делать через "кнопки"?

С таким результатом:

https://punbb.softplaza.net/uploads/images/2020/02/4a9ab3b10735e88ce056f1bbe39e29c5.jpg

заранее спасибо!