2015-04-16 3 views
1

Я хочу написать простую функцию Google для копирования столбцов A в V из Google Таблиц в буфер обмена для использования в другом приложении.Скопировать в буфер обмена в листы Google

У меня есть следующий код до сих пор, но мне нужно получить содержимое в буфер обмена, какую команду использовать?

function onOpen() { 
    SpreadsheetApp.getUi() 
        .createMenu('Custom Menu') 
        .addItem('Copy Col A to V', 'copycolsAtoV') 
        .addToUi(); 
} 

function copycolsAtoV() { 
    var ss = SpreadsheetApp.getActiveSheet(); 
    ss.getRange('A:V') 
} 
+0

Вы не можете копировать в буфер обмена программно в JS из-за соображений безопасности. Вы можете выбрать содержимое для копирования и попросить пользователя сделать «CTRL + C» – MarcoL

+0

Что такое другое приложение? – jmunsch

+0

Excel - я использую листы Google для загрузки веб-данных и передачи этих данных в excell для обработки - excell не так эффективен, как Google, получающий данные с веб-сайтов и ограничения размера электронной таблицы Google, не позволяет мне использовать его, поскольку он очень медленный, но получение данные поперек немного громоздки, поэтому я хочу оптимизировать процесс. – user3325770

ответ

0

Большинство сайтов обрабатывают копию в буфер обмена, используя бит Flash, поскольку это невозможно с помощью JavaScript. An answer on a similar question предложите этот aproach:

Существует не путь вокруг, вы должны использовать вспышку. Существует JQuery plugin called jquery.copy, который предоставил кросс-браузерную копию и вставьте с помощью файла flash (swf). Это похоже на то, как работает синтаксис highlighter на моем блоге.

После того, как вы ссылаетесь файл в jquery.copy.js все, что вам нужно сделать, чтобы подтолкнуть данные в буфер обмена выполняется следующее:

$.copy("some text to copy");

легко и приятно;)

+0

После загрузки плагина j.query, как я могу ссылаться на него в сценарии листов Google? Я хотел бы активировать скрипт из ячейки (скажем, A1) - мне бы хотелось сделать это, выбрав ячейку A1, чтобы запустить сценарий, который выбирает столбцы A-V и помещает их в буфер обмена. После этого я просто вставлю скопированный диапазон в мой лист excel для обработки. Вы могли бы привести пример - также у вас есть ссылка, где я могу загрузить плагин j.query? – user3325770

+0

Просто добавьте ссылку на скрипты jQuery, используя тег 'script'. Загрузите плагин таким же образом. Я думаю, чтобы получить значения нескольких ячеек, вам нужно написать сценарий, чтобы получить эти данные и скопировать их в буфер обмена. Я не уверен, но я не думаю, что вы можете читать данные из буфера обмена. Это вызовет проблемы безопасности. https://stackoverflow.com/questions/7060109/why-is-writing-to-the-clipboard-in-js-considered-a-security-hole – Thijs

Смежные вопросы