Google Slides & Apps Script: отключите все встроенные листовые диаграммы

Я публикую Google Slides, содержащие множество встроенных диаграмм, взятых из электронной таблицы. Я хотел бы отключить встроенные диаграммы (и, таким образом, избежать получения кнопки обновления при обновлении данных в электронной таблице). Если Google предлагает обновить все элементы сразу через запись «Связанные объекты» в меню «Инструменты», нет возможности отключить все за один раз. Мне нужно будет перейти к каждой диаграмме и выбрать «Отменить связь».

Итак, я сейчас ищу возможность написать сценарий Google Apps, чтобы сделать это безуспешно.

Я нашел здесь аналогичный вопрос о stackoverflow: Удалите все гиперссылки из Google Slide с использованием GAS

Но функция removeLink никак не влияет на мой график. Я все еще вижу значок в виде цепочки в правом верхнем углу.

Любая идея ?


person Fabrice    schedule 16.07.2020    source источник


Ответы (1)


К сожалению, похоже, что на текущем этапе нет методов для прямого удаления ссылки на электронную таблицу из электронной таблицы. Но когда ссылка на электронную таблицу из диаграммы Speadsheet удаляется, обнаруживается, что объект становится изображением. Я подумал, что это может быть использовано для достижения вашей цели. Итак, из этой ситуации в качестве обходного пути я хотел бы предложить следующий пример сценария.

Пример сценария:

Этот пример сценария преобразует диаграмму электронной таблицы в изображение на 1-м слайде. При этом удаляется ссылка на электронную таблицу из таблицы Speadsheet.

const slide = SlidesApp.getActivePresentation().getSlides()[0];
const charts = slide.getSheetsCharts();
const chart = charts[0];
slide.insertImage(chart.asImage().getBlob(), chart.getLeft(), chart.getTop(), chart.getWidth(), chart.getHeight());
chart.remove();
  • Последовательность этого скрипта выглядит следующим образом.

    1. Retrieve the Spreadsheet chart.
    2. Извлеките изображение из диаграммы.
    3. Вставьте большой двоичный объект изображения, скопировав размер и место диаграммы электронной таблицы.
    4. Удалите диаграмму электронной таблицы.

Примечание:

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

Использованная литература:

Добавлен:

По поводу вашего дополнительного вопроса следующим образом.

Я думаю, что это хороший обходной путь для диаграмм (таких как круговые диаграммы, столбцы ... которые можно преобразовать в изображения). Тем не менее, у меня есть несколько слайдов, на которых есть встроенные ячейки. При выполнении этого кода для этого элемента отображается проблема. Как вы думаете, это возможно и для встроенных таблиц?

График отличается от таблицы. В этом случае я думаю, что ваш дополнительный вопрос - это новый вопрос.

Ваш первоначальный вопрос заключается в том, чтобы удалить ссылку на электронную таблицу с диаграммы. Отвечаю на ваш вопрос. В этом случае таблицу использовать нельзя. И на текущем этапе, к сожалению, нет способов удалить ссылку Таблицы из таблицы. А также, когда ссылка Электронная таблица удаляется из таблицы, тип объекта из таблицы не изменяется. Таким образом, мой обходной путь не может быть использован. Но сервис слайдов и API слайдов сейчас растут. Поэтому я думаю, что такой метод может быть добавлен в будущем обновлении.

Итак, в качестве текущего метода, как насчет того, чтобы сообщить о своем новом вопросе в систему отслеживания проблем Google? Таким образом, можно было бы рассмотреть возможность добавления такого метода.

person Tanaike    schedule 16.07.2020
comment
Я думаю, что это хороший обходной путь для диаграмм (таких как круговые диаграммы, столбцы ... которые можно преобразовать в изображения). Тем не менее, у меня есть несколько слайдов, на которых есть встроенные ячейки. При выполнении этого кода для этого элемента отображается проблема. Как вы думаете, это возможно и для встроенных таблиц? - person Fabrice; 16.07.2020
comment
@Fabrice Спасибо за ответ. По поводу вашего дополнительного вопроса я обновил свой ответ. Не могли бы вы это подтвердить? Причина, по которой я не могу ответить на ваш новый вопрос в ближайшее время, связана с моей невысокой квалификацией. Я глубоко извиняюсь за это. - person Tanaike; 17.07.2020
comment
@Fabrice Я могу что-нибудь сделать по твоему вопросу? Если мой ответ не был полезен для вашей ситуации. Я должен извиниться и изменить это. Если вы можете сотрудничать, чтобы решить вашу проблему, я рад. Я хотел бы подумать над решением. - person Tanaike; 20.07.2020
comment
Привет @Tanaike, большое спасибо за отзыв. Я пришел к выводу, что есть способ заморозить связанные диаграммы в Google Slide: удалить объект и заменить его изображением. Но для диаграммных таблиц реального решения нет, не так ли? - person Fabrice; 20.07.2020
comment
Тем временем я поискал в системе отслеживания проблем Google и нашел эту ветку: Issueetracker.google.com / u / 1 / issues / 133169146. Ставлю свой голос и не сомневаюсь, сделаю то же самое, если вам такой функционал пригодится! - person Fabrice; 20.07.2020
comment
@Fabrice Спасибо за ответ. В этом случае вы можете отметить звездочку. Но я глубоко извиняюсь за то, что не могу предложить способ решения вашего нового вопроса в ближайшее время. Это из-за моих слабых навыков. Я бы хотел больше учиться. Кстати, можете ли вы использовать мой обходной путь для своего 1-го вопроса? - person Tanaike; 21.07.2020
comment
Думаю, вы правы, мы пока не можем сделать большего. Ваш ответ работает, я успешно его протестировал. Так что отметим этот ответ как наиболее подходящий! - person Fabrice; 21.07.2020
comment
@Fabrice Спасибо за ответ. Когда я нашел обходной путь для диаграммы, я хотел бы рассказать вам здесь. - person Tanaike; 22.07.2020