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.
Fala Bruno! Ficou perfeito! Gostaria de saber de você se é possivel complexar um pouco mais. Já vimos que é possivel trazer em lista suspensa, mas é possivel fazer assim: Lista suspensa de carros, escolhi a marca chevrolet, e a partir da chevrolet me trazer em outra lista suspensa os modelos. Como se ele consultasse um DEPARA. Já tentou fazer algo similar?
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.
Obrigada pelo conteúdo. Poderia dar alguma dica para a construção de matrizes pareadas AHP ? Por exemplo: coletar uma nota de A em relação a B ... sem ter que inserir 1 a 1 as combinações possíveis e sim quais itens são para serem comparados e o espaço para a pessoa preencher a nota ?
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 ó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! 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.
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!
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?
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?
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.
Meu caro boa tarde consegui fazer todo o procedimento, mas quis ampliar o processo e estou num dilema, onde da mesma planilha abas diferentes puxam o mesmo tipo de coluna para dois formulários diferentes tem como resolver? (dois banco de dados diferentes pois são duas filiais da empresa, onde a partir desse banco de dados é preenchido a hora extra de cada funcionário diretamente pelo google forms já editei o nome da função para o botão puxar e nada se você puder me dar uma força agradeço
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
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.
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.
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.
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.
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.
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?
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 }
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?
Parabéns pela ideia e obrigado pela dica👍
Obrigado pela visita!
Magnífico. Um divisor de águas no meu trabalho. Obrigadíssimo
Fico feliz em em ajudar. Disponha.
[Como Criar um Acionador (Gatilho) no Google Apps Script]
👉th-cam.com/video/tf9bwIXQ-Yk/w-d-xo.html
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!
Vou criar mais umas 20 contas só para me inscrever obrigado você me salvou
Muito obrigado.
Excelente dica. Parabéns.
Que bom que gostou. Obrigado.
Ótimo, me salvou meu amigo! Sucesso pra vc!!
Muito obrigado!
Dica excelente!! Ajudou d+.
Que bom que ajudou
Excelente! Parabéns! Me inscrevi no canal!
Muito obrigado 😃
parabens, bem explicado, e bem util
Que bom que ajudou.
Você é uma lenda! Muito obrigado.
Eu que agradeço!
Fala Bruno! Ficou perfeito! Gostaria de saber de você se é possivel complexar um pouco mais. Já vimos que é possivel trazer em lista suspensa, mas é possivel fazer assim: Lista suspensa de carros, escolhi a marca chevrolet, e a partir da chevrolet me trazer em outra lista suspensa os modelos. Como se ele consultasse um DEPARA. Já tentou fazer algo similar?
Neste formato não.
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.
Obrigada pelo conteúdo.
Poderia dar alguma dica para a construção de matrizes pareadas AHP ?
Por exemplo: coletar uma nota de A em relação a B ... sem ter que inserir 1 a 1 as combinações possíveis e sim quais itens são para serem comparados e o espaço para a pessoa preencher a nota ?
Boa tarde, vou fazer um teste e retorno. Obrigado por comentar.
Top demais, ajudou muito.
De nada.
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.
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! 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.
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.
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.
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.
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.
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.
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.
Meu caro boa tarde consegui fazer todo o procedimento, mas quis ampliar o processo e estou num dilema, onde da mesma planilha abas diferentes puxam o mesmo tipo de coluna para dois formulários diferentes tem como resolver? (dois banco de dados diferentes pois são duas filiais da empresa, onde a partir desse banco de dados é preenchido a hora extra de cada funcionário diretamente pelo google forms já editei o nome da função para o botão puxar e nada se você puder me dar uma força agradeço
Você poderia criar uma segunda planilha que apenas usa o "importrange" para trazer os dados da planilha base e alimentar esse segundo formulário.
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.
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?
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.
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?
É 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]
👉th-cam.com/video/tf9bwIXQ-Yk/w-d-xo.html
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.
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.
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.
maravilhoso só q entendo pouc
Muito Obrigado.
Se fosse possível dava mais de um like!!!!
Muito obrigado, fico feliz que ajudou. 😀
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
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.
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
}
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 meu deu erro
Me informe o erro.
Como criar uma sessão usando programação?
Bom dia, segue um vídeo sobre o assunto: th-cam.com/video/Adm7Ah-yyx8/w-d-xo.html
@@EuQueroEssaDica indo conferir!
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.