<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS (JS) + GoogleDocs]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10920</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10920&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS (JS) + GoogleDocs».]]></description>
		<lastBuildDate>Mon, 07 Sep 2015 07:20:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS (JS) + GoogleDocs]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97178#p97178</link>
			<description><![CDATA[<p>Да, задачка у меня специфическая, но я её всё-таки решил, через гуглеформы.<br />Собственно, решение и так было, но оно затормаживалось тем, что если Таблица связана с Формой, то удалить из неё результаты нельзя. Описывал выше.<br />Решение получилось такое.<br />Есть Форма. Она не связана с Таблицей, и Ответы хранятся только в ней.<br />На форму навешан и опубликован гуглескрипт, который сливает ответы в Таблицу. Название функции важно.<br /></p><div class="codebox"><pre><code>function doGet() {
   // Open a form by ID and log the responses to each question.
  var form = FormApp.openById(&#039;FormKey&#039;);
  var ss = SpreadsheetApp.openById(&#039;SpreadSheetKey&#039;).getSheetByName(&#039;SheetName&#039;);
  var formResponses = form.getResponses();
  for (var i = 0; i &lt; formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j &lt; itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     var cell = ss.getRange(i+1, j+1);
     cell.setValue(itemResponse.getResponse());
   }
 }
 form.deleteAllResponses(); 
  
}</code></pre></div><p>На Таблицу тоже навешан и опубликован гуглескрипт, который её чистит, удаляет все строки.</p><p>Механизм такой<br />-Пользователь при помощи Планшета заходит на Форму, заполняет и отправляет данные. Он должен сделать это до определённого времени. Это решается административно.<br />- В шедулере на сервере крутится некий vbs, который<br />1) Запускает опубликованный скрипт от Формы, который переносит Ответы<br />2) Читает Ответы из Таблицы<br />3) Чистит Таблицу (запускает опубликованный скрипт от Таблицы)</p><p>Да, много промежуточных действий, но Оператор при этом не задействован, что есть хорошо. Ну т.е. Оператор в итоге задействован, но он не получает информацию, а только проверяет, все ли её сдали.</p><p>Вдруг кому поможет.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Mon, 07 Sep 2015 07:20:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97178#p97178</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS (JS) + GoogleDocs]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97119#p97119</link>
			<description><![CDATA[<p>Это один из вариантов, но он не удобный, т.к. придётся делать много дополнительных действий.<br />Например, результаты в таблице нельзя очистить, пока существует связь с формой. Удаление связи с формой приведёт к созданию новой таблицы с ответами. Удаление ответов не удаляет записи в таблице... В общем, замкнутый круг. Ну, не то, чтобы замкнутый, но оооочень трудный.</p><p>Изначальная задача такая<br />Есть Андроид с интернетом.<br />Есть Пользователь, который должен передавать информацию.<br />Есть Оператор, который должен эту информацию получать и обрабатывать.<br />Сейчас это делает через &quot;алё, да-да, 2583&quot;, а Оператор заносит данные.<br />Хочется убрать лишнее звено. Самым простым способом посчитал гуглеформы, но вот не выходит каменный цветок ((<br />Заказывать написание приложения - дорого, вот и маюсь, ищу варианты.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Sun, 06 Sep 2015 11:49:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97119#p97119</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS (JS) + GoogleDocs]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97118#p97118</link>
			<description><![CDATA[<p>Вы привели код Google App Script (GAS) - он работает на серверной части. WSH на клиентской.<br />Для решения задачи на WSH просто обращайтесь к url с результатами формы и парсите HTML-код.</p>]]></description>
			<author><![CDATA[null@example.com (JSmаn)]]></author>
			<pubDate>Sun, 06 Sep 2015 05:11:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97118#p97118</guid>
		</item>
		<item>
			<title><![CDATA[VBS (JS) + GoogleDocs]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97053#p97053</link>
			<description><![CDATA[<p>Добрый день.<br />Вопрос следующий.<br />Есть Форма на GoogleDocs. У формы есть Ответы. Мне бы хотелось их получить скриптом. Можно в файл. По определённым причинам, связка Форма - Таблица - Выгрузка в файл не походит, хоть и реализуется.</p><p>Среди скриптов гугля есть, например, такое:<br /></p><div class="codebox"><pre><code>
 // Open a form by ID and log the responses to each question.
 var form = FormApp.openById(&#039;1234567890abcdefghijklmnopqrstuvwxyz&#039;);
 var formResponses = form.getResponses();
 for (var i = 0; i &lt; formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j &lt; itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     Logger.log(&#039;Response #%s to the question &quot;%s&quot; was &quot;%s&quot;&#039;,
         (i + 1).toString(),
         itemResponse.getItem().getTitle(),
         itemResponse.getResponse());
   }
 }</code></pre></div><p>Судя по всему, это всё перебирает ответы и записывает их в некий Logger, текст из которого хотелось бы получить...</p><p>Ещё раз отмечу, что мне по сути нужно автоматизировано получать текст ответов, а не смотреть их (с этим проблем нет).</p><p>Вдруг кто...</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Thu, 03 Sep 2015 14:04:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97053#p97053</guid>
		</item>
	</channel>
</rss>
