Да. Это довольно легко. Вы посмотрели на documentation? Вам просто нужно использовать FormApp
и использовать FormAp.getItems(FormApp.ItemType.LIST)
, чтобы получить все элементы, которые являются списком. Тогда все, что вам нужно сделать, это выполнить пошаговый список и сделайте следующее:
- Получить текущий элемент в качестве
LIST
пункта (все детали по из ITEM
типа)
- Создать новый
CHECKBOX
элемент
- Копировать название от старого элемента в новый элемент
- Копировать текст справки из старого элемента в новый элемент
- Копии требуется от старого элемента в новый элемент
- Копировать гр hoices от старого пункта до нового пункта
- Получить индексов как старых, так и новых элементов
- Переместить новый элемент старого индекса элемента
- Удалить старый элемент
Хотя я против предоставления кода и будет preffer вас напишите его сами, это так просто, что я мог бы просто дать его вам:
EDIT: Я неправильно понял вопрос и подумал, что цель состоит в том, чтобы сменить раскрывающийся список на флажок, а не флажок в раскрывающемся списке. Редактирование кода для отражения обратного хода
Чтобы отредактировать код самостоятельно, вам действительно нужно изменить только несколько строк. var itemList = form.getItems(FormApp.ItemType.LIST)
изменить в соответствии с enum ItemType и изменить oldItem
и newItem
на as
и add
с соответствующими типами.
function myFunction() {
var form = FormApp.getActiveForm()
var itemList = form.getItems(FormApp.ItemType.CHECKBOX)
var oldItem, newItem, oldIndex, i
for (i = 0; i < itemList.length; i++) {
oldItem = itemList[i].asCheckboxItem() //get the item as a checkbox item to gain access to the choices
newItem = form.addListItem() //create a new list item (you can use any other type)
newItem.setTitle(oldItem.getTitle()) //copy the title
newItem.setHelpText(oldItem.getHelpText()) //copy the help text
newItem.setRequired(oldItem.isRequired()) //copy if it is required
newItem.setChoices(oldItem.getChoices()) //copy the choices
oldIndex = oldItem.getIndex() //get where the current item is
form.moveItem(form.getItemById(newItem.getId()), oldIndex) //move the new item to the old items position
// -----Another optional way to move the item----
// var newIndex = newItem.getIndex()
// form.moveItem(form.getItemById(newIndex, oldIndex)
// -----------------------------------------------
form.deleteItem(itemList[i]) //delete the old item
}
}
Спасибо за то, что сэр @Vytautas, но код выше дает противоположный результат вместо того, чтобы конвертировать флажок в выпадающие элементы, то, что он делает, преобразует выпадающие элементы в флажки. Я пытаюсь понять код и попробовать: D – melvnberd
@melvnberd извините, должно быть, неправильно понял. Это довольно легко изменить. На самом деле это простое изменение. Попробуйте сами, но я поправлю ответ – Vytautas