Era tudo que eu precisava, meu amigo! Eu havia tentado outras aplicações (tipo FormRanger), sem sucesso. Esse Sript atuaiza tudo de modo muito rápido! Parabéns! Contudo, só não resolveu uma questão: Eu estou usando o script para fechar ordens de serviço abertas. Ou seja, à medida que eu resolvo o serviço, entro em meu formulário de controle e encerro a ordem de serviço aberta. Os números das ordens de serviço abertas correspondem justamente ao conteúdo da planilha com as opções de respostas para o Forms.Tudo funciona muito bem, porém, quando eu encerro todas as ordens de serviço e a planilha contendo as opções de respostas fica vazia (apenas com cabeçalho), a execução do Sript não funciona, pois ele encontra campos vazios na planiha onde deveriam haver opções a serem envadas ao Forms (Erro Exception: Array is empty: values). Uma vez que a execução para de funcionar, o formuláro Google mantém sempre a última ordem de serviço encerrada, como se fosse ainda uma opção de marcação em meu formulário. Saberiam como me ajudar?
@@EuQueroEssaDica Existe alguma forma, algum script, que altere o formulário para que o usuário consiga escolher vários itens ao mesmo tempo em caixas de seleção e ainda possa relacionar cada seleção a uma resposta curta? Exemplo: Escolher em uma lista Mamão, banana, melão, laranja e ao lado colocar a quantidade sem precisar sair e voltar ao formulário para escolher cada item e sua quantidade várias vezes?
Outra dúvida, cada resposta de formulário enviado gera uma linha na planilha. Existe alguma forma de em uma resposta só criar várias linhas? Porque aí resolveria o primeiro problema a que me referi, pois tenho uma planilha que, se eu conseguisse que os usuários escolhessem tudo de uma vez sem me gerar milhares de colunas, já resolveria
Acredito que neste caso, talvez você teria que usar uma planilha auxiliar de respostas para dividir as respostas de acordo com usuários que respondessem.
Vídeo excelente!!!! Funcionou, muito obrigada!! Professor, por gentileza gostaria de saber se é possível criar uma lista suspensa dependente no google forms? Assim como no google sheets? Muito obrigada novamente.
Professor ótimo conteudo, gostaria de saber se é possível, conforme eu trazer essa lista suspensa e o usuário escolher a opção, fazer um select e com base na escolha eu povoar uma outra lista suspensa no mesmo formulário. Tipo um SELECT do sql me retornando dados em outro campo utilizando a escolha da própria lista suspensa que o usuário escolheu.
Professor, o conteúdo é perfeito para o que eu preciso. Queria saber se existe a possibilidade de eu aumentar as sessões de um mesmo forms, pq pelo que experimentei, ele funciona dentro de uma única sessão, teria como aumentar a quantidade de sessões do forms usando o mesmo script?
Professor! primeiramente parabens pelo conteudo, me ajudou bastante. Quero saber se posso fazer a atualização de outros formularios, usando os dados da mesma planilha e o mesmo script, se sim, como posso incluir nos comandos? desde ja agradeco a atencao.
Primeiro parabéns! Como faria para deletar um opção da lista suspensa, no forms quando a coluna com no titulo QTD (Exemplo) na planilha chegar a um determinado valor?
Conteúdo incrível e me ajudou bastante. Quero aproveitar pra perguntar, seria possível fazer as atualizações da lista suspensa de forma condicional? ex: a pessoa seleciona qual estado ela mora, e de acordo com o estado só aparecer como opções as cidades daquele estado para a pessoa que respondeu o formulário. Desde já agradeço!
Muito interessante, obrigada. Eu gostaria de fazer um modelo de lista suspensa + check box. Tenho um formulario onde a pessos que fez uma reunião marca as áreas participantes da reunião e os participantes das áreas. Não sei como fazer isso no google forms. Voce tem alguma solução?
Como faço por exemplo, tenho Setor, função e nome. Quando escolho o setor e vou para a função, ele já filtra as opções de função baseado na resposta do Setor, e quando respondo a função vou para o Nome, onde tb é filtrado de acordo com a Função. Por lista suspensa e seção é possivel mas a planilha fica gigante, pois ele divide para cada seção um nova colula de acordo com a resposta anterior. queria fazer por script.. é possivel?
Boa noite, não testei nesse formato que você está precisando. Sugiro avaliar se no seu caso, o Google Forms, é a solução mais viável. Caso tenha muitas opções para uma lista suspensa condicional.
Olá, boa tarde, teria como eu remover opções do meu forms por este mesmo método? Como por exemplo, quando um usuário selecionasse uma dessas opções, e salvasse, ele executasse o script e removesse para os próximos usuários que acessarem o formulário?
Achei muito bom mas gostaria que tirasse uma duvida minha, eu tentei fazer uma lista de presentes de casamento, e quando vou executar da erro, TypeError: cannot read properties of null Reading 'getsheetByName'
Boa tarde, obrigado por comentar. Pelo visto o script não está encontrando o nome da planilha, verifique se o nome da aba na planilha está igual no script.
Irmão, parabéns pelo vídeo. Eu tenho uma dúvida sobre a possibilidade, eu queria que a pessoa quando abrisse um formulário, o formulário identificasse a conta dela pelo email e já trouxesse já respostas pre preenchidas de uma planilha que tem o nome da pessoa e o telefone. Não sei se deu pra entender, rsrsrs, mas basicamente queria que o formulário tivesse já os dados do usuário pra evitar que ele preencha informações pessoais que isso fosse automático e ele respondesse somente aquilo que não é pessoal. Necessariamente não precisava ser a conta de email, mas se ele digitasse um cpf já trazia as informações de nome e telefone e os outros campos ele teria que preencher normlamente.
Boa noite, verifique valores duplicados na coluna, por ser lista suspensa, não pode haver valores duplicados. Seja em título da coluna ou itens da lista.
Professor, não estou conseguindo fazer rodar dois scripts, um para cada aba. Ele está lendo só um dos scripts, mesmo eu alterando o nome da function. O que pode ser?
Exatamente. Exemplo: Aba A e Aba B possuem informações para preencher o forms. No caso, criei uma variavel para a Aba A e outra para a Aba B. Contudo, ele não roda os scripts separadamente. Ele só roda 01. Mesmo criando dois diferentes etc. É algo no código?@@EuQueroEssaDica
É a mesma planilha, 2 abas diferentes. No caso, seria 01 coluna de cada aba para alimentar o mesmo forms, mas duas lista suspesnas diferentes, de duas abas diferentes kkkkkk. Não sei se consegui explicar.@@EuQueroEssaDica
Amigo, suponhamos que eu tenha 8 formulários que tem 4 listas suspensas em comum, é possivel com apenas 1 script eu atualizar os 8 formulários ao mesmo tempo? Se sim qual seria a adequação que eu teria que fazer... Desde já agradeço pela dica que foi de imensa valia. Parabéns pelo conteudo
Boa tarde. Um teste que eu faria seria: criar as variáveis para cada formulários (formID1, formID2...) e criar uma função (function) para cada formulário. Espero que ajude e obrigado.
Eu gostaria de atualizar as informações da planilha, ex: esta pendente e agora foi concluído como que alteremos isso pelo forms. No caso existe nomes repetidos, a alguma forma de travar para não deixa a pessoa repetir o nome ou aviso que ja existe uma resposta com esse nome no forms ?
Bom dia. Não tem como, lembre-se que esse script mostra como inserir dados em uma pergunta do tipo lista suspensa de múltipla escolha, que no caso, não pode ter valores duplicados.
Tenho o mesmo problema, alguma solução, pelo que entendi o google limita em 1000 linhas o script, minha planilha tem mais de 1000 linhas por isso dá esse erro. Confere?
@@EuQueroEssaDica esta dando erro no meu euu queria que a minha fosse uma grade de multipla escolha: corrija o meu codigo // Referência: Canal Learn Google Sheets & Excel Spreadsheets var planilhaID = "1Vk1pdOwrtKIZxJC4HIT1S1LgL1jf5k5znSrS-f8VS8s"; var formID = "1Yp2btstTpmjJLjm4gfvop3fntA6MCzy"; var wsData = SpreadsheetApp.openById(planilhaID).getSheetByName("Respostas ao formulário 1"); var form = FormApp.openById(formID); function main() { var labels = wsData.getRange(1, 1, 1, wsData.getLastColumn()).getValues()[0]; labels.forEach(function (label, i) { var options = wsData .getRange(2, i + 1, wsData.getLastRow() - 1, 1) .getValues() .map(function (o) { return o[0] }) .filter(function (o) { return o !== "" }); updateGridQuestion(label, options); }); } function updateGridQuestion(title, values) { var items = form.getItems(FormApp.ItemType.GRID); // Encontrar a pergunta de grade pelo título var gridQuestion = items.find(function (item) { return item.getTitle() === title; }); if (gridQuestion) { updateGrid(gridQuestion, values); } else { Logger.log("Pergunta de grade não encontrada com título: " + title); } } function updateGrid(gridQuestion, values) { var gridItem = gridQuestion.asGridItem(); // Limpar as opções existentes gridItem.clearValidation(); // Adicionar novas opções com base nos dados gridItem.setRows(values); gridItem.setColumns(['Opção 1', 'Opção 2', 'Opção 3']); // Altere conforme necessário }
Aproveitando o ensejo do vídeo, gostaria se você pode postar algo sobre um problema que estou tendo. Bruno, será que vc pode me ajudar? Tenho duas planilhas google distintas, porém, uma delas possui uma lista suspensa com dados da outra! Meu problema é que quando acrescento ou atualizo a lista principal, demora para atualizar na outra. Tem possibilidade de um script que atualize a lista da outra planilha ao abrir ou uma forma de automatizar a informação assim que alterada a principal? Like, like, like e novo sub!
Boa noite, neste caso pode ser via script, que o acionador de atualização seria ao abrir a mesma. Qual recurso você utiliza para atualizar, o importrange?
@@EuQueroEssaDicaOpa desculpa a demora em responder! Na verdade eu utilizo uma IMPORTRANGE dentro de uma QUERY. Você possui uma whats par que eu possa enviar meu empecilho em vídeo? Ou e-mail?
Umas das melhores dicas que já vi! Poderia me ajudar com o erro que aparece? 09:40:03 Erro Exception: Questions cannot have duplicate choice values. updateDropdown @ Código.gs:32 updateDropDownUsingTitle @ Código.gs:27 (anônimo) @ Código.gs:15 main @ Código.gs:9
Olá, boa noite. Tentei executar o script, fiz as alterações igualzinho no vídeo, mas apareceu o seguinte erro: Erro Exception: Invalid conversion for item type: MULTIPLE_CHOICE. updateDropdown @ Código.gs:32 updateDropDownUsingTitle @ Código.gs:27 (anônimo) @ Código.gs:15 main @ Código.gs:9 o que pode ser?
Olá, parabéns pelo vídeo. Executei num formulário simples e funcionou. Mas quanto tentei executar numa lista que estava com uma quebra de página deu erro. Você teria um exemplo que considere formulários com quebra de seções ? Obrigado Exception: Invalid conversion for item type: PAGE_BREAK. updateDropdown @ Código.gs:32 updateDropDownUsingTitle @ Código.gs:27 (anônimo) @ Código.gs:15 main @ Código.gs:9
@@EuQueroEssaDica Show. Fico muito grato se conseguir resolver, pois estou precisando com urgência para o trabalho de seleção de candidatos que tem vários avaliadores que quando entra um tenho que atualizar a lista. Mas a lista de avaliadores está numa próxima página do formulário que só quando coloca uma senha válida é que exibo a lista suspenda.. Obrigado pela resposta.
Boa noite, fiz o teste no formulário com duas seções e funcionou normalmente, uma pergunta, a sua planilha base das perguntas é outro arquivo separado no Drive? Pois, essa planilha base de perguntas, deve ser um arquivo separado da planilha de respostas do formulário.
Trago uma boa notícia 🙂Eu estava usando uma planilha separada mesmo como você fala no vídeo. E sabendo que você tinha testado e funcionado, fui fazer a mesma coisa aqui. E funciono, num formulário separado sem ser o que eu estava usando. Depois voltei para o meu formulário e fui testando de várias formas. O conclusão que cheguei foi: Na planilha de dados (em separado) eu tinha as duas colunas de dados mas tinha também uma formulá de Query (=TRANSPOR(QUERY('Contato dos Avaliadores'!A5:O;"SELECT O Where O IS NOT NULL ORDER BY A";0))) em outra coluna (C). Aí por algum motivo quando a script rota ele sai checando todas as células. E aí dava pau nessa outra coluna que não tinha nada a ver. Retirei a fórmula, e FUNCIONOU !!!. A dica é, se estiver dando erro, checar também se tem alguma fórmula, talvez do tipo query ou coisa parecida. MUITO OBRIGADO pelo apoio e celeridade na resposta. Você é SHOW !!!
Olá, boa tarde. Fiz td exatamente como vc mostrou no vídeo, porém está dando erro ao executar. Mensagem: Erro: Exceptio: Questionário cannot haverá duplicata coice values; UpdateDropdown @ Codigo.gs:31 updateDropdownUsingTitle @ Codigo.gs 26 (anônimo) @Codigo.gs 14 main @Codigo.gs 8 No entanto não há perguntas repetidas nem dados repetidos. Como resolver?
Boa noite, as perguntas criadas estão em uma planilha diferente da planilha de respostas? Qualquer coisa, compartilhe no e-mail *contato@euqueroessadica.com*
Cara, muito obrigado. Impressionante que não existe essa opção nativa. Me ajudou muito.
Que bom que ajudou, disponha.
Era tudo que eu precisava, meu amigo! Eu havia tentado outras aplicações (tipo FormRanger), sem sucesso.
Esse Sript atuaiza tudo de modo muito rápido! Parabéns!
Contudo, só não resolveu uma questão: Eu estou usando o script para fechar ordens de serviço abertas. Ou seja, à medida que eu resolvo o serviço, entro em meu formulário de controle e encerro a ordem de serviço aberta. Os números das ordens de serviço abertas correspondem justamente ao conteúdo da planilha com as opções de respostas para o Forms.Tudo funciona muito bem, porém, quando eu encerro todas as ordens de serviço e a planilha contendo as opções de respostas fica vazia (apenas com cabeçalho), a execução do Sript não funciona, pois ele encontra campos vazios na planiha onde deveriam haver opções a serem envadas ao Forms (Erro Exception: Array is empty: values). Uma vez que a execução para de funcionar, o formuláro Google mantém sempre a última ordem de serviço encerrada, como se fosse ainda uma opção de marcação em meu formulário. Saberiam como me ajudar?
Você está tratando tudo isso na mesma aba de resposta do formulário? Ou utiliza uma página auxiliar?
Ótimo, me salvou meu amigo! Sucesso pra vc!!
Muito obrigado!
Vou criar mais umas 20 contas só para me inscrever obrigado você me salvou
Muito obrigado.
Magnífico. Um divisor de águas no meu trabalho. Obrigadíssimo
Fico feliz em em ajudar. Disponha.
Muito obrigado pela contribuição!!! Me ajudou muito!!! 👏👏👏
Nós que agradecemos!
*Como pode um simples vídeo conseguir me ajudar tanto? Muito obrigado! Você é um amigo mesmo s2*
Muito obrigado 😃
@@EuQueroEssaDica Existe alguma forma, algum script, que altere o formulário para que o usuário consiga escolher vários itens ao mesmo tempo em caixas de seleção e ainda possa relacionar cada seleção a uma resposta curta? Exemplo: Escolher em uma lista Mamão, banana, melão, laranja e ao lado colocar a quantidade sem precisar sair e voltar ao formulário para escolher cada item e sua quantidade várias vezes?
Outra dúvida, cada resposta de formulário enviado gera uma linha na planilha. Existe alguma forma de em uma resposta só criar várias linhas? Porque aí resolveria o primeiro problema a que me referi, pois tenho uma planilha que, se eu conseguisse que os usuários escolhessem tudo de uma vez sem me gerar milhares de colunas, já resolveria
Acredito que neste caso, talvez você teria que usar uma planilha auxiliar de respostas para dividir as respostas de acordo com usuários que respondessem.
@@EuQueroEssaDica vou testar então!
Excelente dica. Parabéns.
Que bom que gostou. Obrigado.
Dica excelente!! Ajudou d+.
Que bom que ajudou
parabens, bem explicado, e bem util
Que bom que ajudou.
Você é uma lenda! Muito obrigado.
Eu que agradeço!
Excelente! Parabéns! Me inscrevi no canal!
Muito obrigado 😃
Top demais, ajudou muito.
De nada.
Vídeo excelente!!!! Funcionou, muito obrigada!!
Professor, por gentileza gostaria de saber se é possível criar uma lista suspensa dependente no google forms? Assim como no google sheets? Muito obrigada novamente.
Boa noite, acredito que seja possível, não cheguei a testar. Obrigado pelo comentário. Não deixe de se inscrever no canal.
lindo video só q entendo pouco mas o professor tem nota mil............
Muito obrigado.
Professor ótimo conteudo, gostaria de saber se é possível, conforme eu trazer essa lista suspensa e o usuário escolher a opção, fazer um select e com base na escolha eu povoar uma outra lista suspensa no mesmo formulário. Tipo um SELECT do sql me retornando dados em outro campo utilizando a escolha da própria lista suspensa que o usuário escolheu.
Boa noite, acredito que seja possível sim. Vou tentar elaborar um teste.
Professor, o conteúdo é perfeito para o que eu preciso.
Queria saber se existe a possibilidade de eu aumentar as sessões de um mesmo forms, pq pelo que experimentei, ele funciona dentro de uma única sessão, teria como aumentar a quantidade de sessões do forms usando o mesmo script?
Aqui, sem alterar, funcionou. Apenas coloque nomes diferentes nas seções e não coloque nome de seção igual ao de uma pergunta.
Professor! primeiramente parabens pelo conteudo, me ajudou bastante. Quero saber se posso fazer a atualização de outros formularios, usando os dados da mesma planilha e o mesmo script, se sim, como posso incluir nos comandos? desde ja agradeco a atencao.
Neste caso, vc terá que criar variáveis para cada formulário, e indicar os endereços.
[Como Criar um Acionador (Gatilho) no Google Apps Script]
👉ruclips.net/video/tf9bwIXQ-Yk/видео.html
Primeiro parabéns! Como faria para deletar um opção da lista suspensa, no forms quando a coluna com no titulo QTD (Exemplo) na planilha chegar a um determinado valor?
Você teria que reajustar o script para contar valores da coluna e depois atualizar a lista conforme necessidade.
Conteúdo incrível e me ajudou bastante. Quero aproveitar pra perguntar, seria possível fazer as atualizações da lista suspensa de forma condicional? ex: a pessoa seleciona qual estado ela mora, e de acordo com o estado só aparecer como opções as cidades daquele estado para a pessoa que respondeu o formulário. Desde já agradeço!
Pelo próprio forms, é possível criando seções. Pelo script, teria que verificar a viabilidade de implementação.
Muito interessante, obrigada. Eu gostaria de fazer um modelo de lista suspensa + check box. Tenho um formulario onde a pessos que fez uma reunião marca as áreas participantes da reunião e os participantes das áreas. Não sei como fazer isso no google forms. Voce tem alguma solução?
Boa tarde. Me envie sua dúvida no e-mail _*contato@euqueroessadica.com*_, assim, vou analisar melhor.
Amigo parabéns pelo vídeo! Porém tenho uma dúvida: Eu consigo atualizar mais de um formulário com o script de uma só planilha?
Neste caso tem que testar. Inserindo os endereços dos respectivos formulários e ajustando o código para tal finalidade.
Como faço por exemplo, tenho Setor, função e nome. Quando escolho o setor e vou para a função, ele já filtra as opções de função baseado na resposta do Setor, e quando respondo a função vou para o Nome, onde tb é filtrado de acordo com a Função. Por lista suspensa e seção é possivel mas a planilha fica gigante, pois ele divide para cada seção um nova colula de acordo com a resposta anterior. queria fazer por script.. é possivel?
Boa noite, não testei nesse formato que você está precisando. Sugiro avaliar se no seu caso, o Google Forms, é a solução mais viável. Caso tenha muitas opções para uma lista suspensa condicional.
Olá, boa tarde, teria como eu remover opções do meu forms por este mesmo método? Como por exemplo, quando um usuário selecionasse uma dessas opções, e salvasse, ele executasse o script e removesse para os próximos usuários que acessarem o formulário?
Bom dia. Procure pela extensão Choice Limiter, ela faz esse trabalho. Via script, vou pesquisar sobre, caso consiga algo, lhe dou retorno. Um abraço.
Achei muito bom mas gostaria que tirasse uma duvida minha, eu tentei fazer uma lista de presentes de casamento, e quando vou executar da erro, TypeError: cannot read properties of null Reading 'getsheetByName'
Boa tarde, obrigado por comentar. Pelo visto o script não está encontrando o nome da planilha, verifique se o nome da aba na planilha está igual no script.
Irmão, parabéns pelo vídeo. Eu tenho uma dúvida sobre a possibilidade, eu queria que a pessoa quando abrisse um formulário, o formulário identificasse a conta dela pelo email e já trouxesse já respostas pre preenchidas de uma planilha que tem o nome da pessoa e o telefone. Não sei se deu pra entender, rsrsrs, mas basicamente queria que o formulário tivesse já os dados do usuário pra evitar que ele preencha informações pessoais que isso fosse automático e ele respondesse somente aquilo que não é pessoal. Necessariamente não precisava ser a conta de email, mas se ele digitasse um cpf já trazia as informações de nome e telefone e os outros campos ele teria que preencher normlamente.
Neste caso, sugiro utilizar um solução via Apps Script com interface Web, pois com formulário será mais difícil de implementar.
@@EuQueroEssaDicapoderia gravar um vídeo nos ensinando?
Olá tive um problema, o meu deu um erro Exception: Questions cannot have duplicate choice values.
podem me ajudar ? fiz como solicitado no video
Boa noite, verifique valores duplicados na coluna, por ser lista suspensa, não pode haver valores duplicados. Seja em título da coluna ou itens da lista.
Se fosse possível dava mais de um like!!!!
Muito obrigado, fico feliz que ajudou. 😀
Professor, não estou conseguindo fazer rodar dois scripts, um para cada aba. Ele está lendo só um dos scripts, mesmo eu alterando o nome da function. O que pode ser?
Você criou variáveis para informar o nome de cada aba? Nos testes que realizei, usei apenas uma aba mesmo.
Exatamente. Exemplo: Aba A e Aba B possuem informações para preencher o forms. No caso, criei uma variavel para a Aba A e outra para a Aba B. Contudo, ele não roda os scripts separadamente. Ele só roda 01. Mesmo criando dois diferentes etc. É algo no código?@@EuQueroEssaDica
Essa planilha sua alimenta o mesmo forms?
É a mesma planilha, 2 abas diferentes. No caso, seria 01 coluna de cada aba para alimentar o mesmo forms, mas duas lista suspesnas diferentes, de duas abas diferentes kkkkkk. Não sei se consegui explicar.@@EuQueroEssaDica
Use apenas uma aba, e cada coluna vai representar cada pergunta, as colunas devem ter o mesmo nome da pergunta. Ou seja, basta uma única aba.
maravilhoso só q entendo pouc
Muito Obrigado.
Sabe como condicionar o preenchimento de um campo de acordo com o preenchimento do campo anterior?
Bom dia, depende, mas tem que testar. É por coluna ou linha?
Amigo, suponhamos que eu tenha 8 formulários que tem 4 listas suspensas em comum, é possivel com apenas 1 script eu atualizar os 8 formulários ao mesmo tempo? Se sim qual seria a adequação que eu teria que fazer...
Desde já agradeço pela dica que foi de imensa valia. Parabéns pelo conteudo
Boa tarde. Um teste que eu faria seria: criar as variáveis para cada formulários (formID1, formID2...) e criar uma função (function) para cada formulário. Espero que ajude e obrigado.
Eu gostaria de atualizar as informações da planilha, ex: esta pendente e agora foi concluído como que alteremos isso pelo forms. No caso existe nomes repetidos, a alguma forma de travar para não deixa a pessoa repetir o nome ou aviso que ja existe uma resposta com esse nome no forms ?
Bom dia. Não tem como, lembre-se que esse script mostra como inserir dados em uma pergunta do tipo lista suspensa de múltipla escolha, que no caso, não pode ter valores duplicados.
É possível executar o script automaticamente sempre que um novo registro for acrescentado na planilha? Ou seja, sem precisar de um botão?😊😊😊😊😊😊😊
Sim é possível, neste caso você tem que configurar o acionador para toda vez que a planilha for alterada.
[Como Criar um Acionador (Gatilho) no Google Apps Script]
👉ruclips.net/video/tf9bwIXQ-Yk/видео.html
Me ajuda com esse erro? Exception: Falha ao definir as opções. Você ultrapassou o limite de opções.
Vou verificar.
Tenho o mesmo problema, alguma solução, pelo que entendi o google limita em 1000 linhas o script, minha planilha tem mais de 1000 linhas por isso dá esse erro. Confere?
Não necessariamente, já usei esse script em planilha com 5000 linhas.
Não deu certo, está dando o erro Erro
Script function not found: main
Boa tarde, verifique se os caminhos estão indicados no script, bem como o script esteja sendo criado em planilha separada do formulário.
Deu certo!!! Eu que estava errando alguma coisa! Refiz e conseguiii !!! Obrigada me ajudou muitoooo
De nada, disponha.
o arquivo DO codigo n funcionou
Bom dia, poderia informar o erro apresentado?
n consigo baixar o codigo@@EuQueroEssaDica
opa consegui
Que bom, qualquer coisa, me avise. E não deixe de se inscrever no canal.
@@EuQueroEssaDica esta dando erro no meu
euu queria que a minha fosse uma grade de multipla escolha: corrija o meu codigo
// Referência: Canal Learn Google Sheets & Excel Spreadsheets
var planilhaID = "1Vk1pdOwrtKIZxJC4HIT1S1LgL1jf5k5znSrS-f8VS8s";
var formID = "1Yp2btstTpmjJLjm4gfvop3fntA6MCzy";
var wsData = SpreadsheetApp.openById(planilhaID).getSheetByName("Respostas ao formulário 1");
var form = FormApp.openById(formID);
function main() {
var labels = wsData.getRange(1, 1, 1, wsData.getLastColumn()).getValues()[0];
labels.forEach(function (label, i) {
var options = wsData
.getRange(2, i + 1, wsData.getLastRow() - 1, 1)
.getValues()
.map(function (o) { return o[0] })
.filter(function (o) { return o !== "" });
updateGridQuestion(label, options);
});
}
function updateGridQuestion(title, values) {
var items = form.getItems(FormApp.ItemType.GRID);
// Encontrar a pergunta de grade pelo título
var gridQuestion = items.find(function (item) {
return item.getTitle() === title;
});
if (gridQuestion) {
updateGrid(gridQuestion, values);
} else {
Logger.log("Pergunta de grade não encontrada com título: " + title);
}
}
function updateGrid(gridQuestion, values) {
var gridItem = gridQuestion.asGridItem();
// Limpar as opções existentes
gridItem.clearValidation();
// Adicionar novas opções com base nos dados
gridItem.setRows(values);
gridItem.setColumns(['Opção 1', 'Opção 2', 'Opção 3']); // Altere conforme necessário
}
Aproveitando o ensejo do vídeo, gostaria se você pode postar algo sobre um problema que estou tendo.
Bruno, será que vc pode me ajudar? Tenho duas planilhas google distintas, porém, uma delas possui uma lista suspensa com dados da outra! Meu problema é que quando acrescento ou atualizo a lista principal, demora para atualizar na outra. Tem possibilidade de um script que atualize a lista da outra planilha ao abrir ou uma forma de automatizar a informação assim que alterada a principal?
Like, like, like e novo sub!
Boa noite, neste caso pode ser via script, que o acionador de atualização seria ao abrir a mesma. Qual recurso você utiliza para atualizar, o importrange?
@@EuQueroEssaDicaOpa desculpa a demora em responder! Na verdade eu utilizo uma IMPORTRANGE dentro de uma QUERY. Você possui uma whats par que eu possa enviar meu empecilho em vídeo? Ou e-mail?
Bom dia, envie para contato@euqueroessadica.com
Como criar uma sessão usando programação?
Bom dia, segue um vídeo sobre o assunto: ruclips.net/video/Adm7Ah-yyx8/видео.html
@@EuQueroEssaDica indo conferir!
O meu deu erro
Me informe o erro.
Umas das melhores dicas que já vi!
Poderia me ajudar com o erro que aparece?
09:40:03 Erro
Exception: Questions cannot have duplicate choice values.
updateDropdown @ Código.gs:32
updateDropDownUsingTitle @ Código.gs:27
(anônimo) @ Código.gs:15
main @ Código.gs:9
Verifiquei se possui valores duplicados na coluna.
Deu Certo!!
Como a lista é muito grande, fui colocando aos poucos e descobri nome repetido nela. 😃@@EuQueroEssaDica
Olá, boa noite. Tentei executar o script, fiz as alterações igualzinho no vídeo, mas apareceu o seguinte erro:
Erro
Exception: Invalid conversion for item type: MULTIPLE_CHOICE.
updateDropdown @ Código.gs:32
updateDropDownUsingTitle @ Código.gs:27
(anônimo) @ Código.gs:15
main @ Código.gs:9
o que pode ser?
Sua pergunta é do tipo "Lista Suspensa"? A base de pergunta está em uma planilha separada da planilha de respostas do formulário?
@@EuQueroEssaDica Eu tinha colocado a opção multipla escolha ao inves de lista suspensa. Fiz novamente e agora deu certo. Show! muito obrigado
Que ótimo 😃
Olá, parabéns pelo vídeo. Executei num formulário simples e funcionou. Mas quanto tentei executar numa lista que estava com uma quebra de página deu erro. Você teria um exemplo que considere formulários com quebra de seções ? Obrigado
Exception: Invalid conversion for item type: PAGE_BREAK.
updateDropdown @ Código.gs:32
updateDropDownUsingTitle @ Código.gs:27
(anônimo) @ Código.gs:15
main @ Código.gs:9
Bom dia. Vou realizar uns testes e retorno. Obrigado pelo comentário.
@@EuQueroEssaDica Show. Fico muito grato se conseguir resolver, pois estou precisando com urgência para o trabalho de seleção de candidatos que tem vários avaliadores que quando entra um tenho que atualizar a lista. Mas a lista de avaliadores está numa próxima página do formulário que só quando coloca uma senha válida é que exibo a lista suspenda.. Obrigado pela resposta.
Boa noite, fiz o teste no formulário com duas seções e funcionou normalmente, uma pergunta, a sua planilha base das perguntas é outro arquivo separado no Drive? Pois, essa planilha base de perguntas, deve ser um arquivo separado da planilha de respostas do formulário.
Trago uma boa notícia 🙂Eu estava usando uma planilha separada mesmo como você fala no vídeo. E sabendo que você tinha testado e funcionado, fui fazer a mesma coisa aqui. E funciono, num formulário separado sem ser o que eu estava usando. Depois voltei para o meu formulário e fui testando de várias formas. O conclusão que cheguei foi: Na planilha de dados (em separado) eu tinha as duas colunas de dados mas tinha também uma formulá de Query (=TRANSPOR(QUERY('Contato dos Avaliadores'!A5:O;"SELECT O Where O IS NOT NULL ORDER BY A";0))) em outra coluna (C). Aí por algum motivo quando a script rota ele sai checando todas as células. E aí dava pau nessa outra coluna que não tinha nada a ver. Retirei a fórmula, e FUNCIONOU !!!. A dica é, se estiver dando erro, checar também se tem alguma fórmula, talvez do tipo query ou coisa parecida. MUITO OBRIGADO pelo apoio e celeridade na resposta. Você é SHOW !!!
Disponha@@RicardoSMagalhaes
Olá, boa tarde.
Fiz td exatamente como vc mostrou no vídeo, porém está dando erro ao executar.
Mensagem:
Erro: Exceptio: Questionário cannot haverá duplicata coice values;
UpdateDropdown @ Codigo.gs:31
updateDropdownUsingTitle @ Codigo.gs 26
(anônimo) @Codigo.gs 14
main @Codigo.gs 8
No entanto não há perguntas repetidas nem dados repetidos.
Como resolver?
Boa noite, as perguntas criadas estão em uma planilha diferente da planilha de respostas? Qualquer coisa, compartilhe no e-mail *contato@euqueroessadica.com*
Sim, as perguntas e dados estão sendo puxadas de uma outra planilha e drive diferentes pela função importrange.
@@EuQueroEssaDicaverifique sua vx de e-mail.. compartilhei o projeto e a planilha origem
*Cx de email
Pelo que pude verificar, a planilha base está com valores duplicados.