Tendo em vista que algumas pessoas não estão conseguindo reproduzir o automatismo apresentado no vídeo, estou disponibilizando o link da planilha compartilhada. Para utilizá-la, é necessário fazer uma cópia da mesma em seu Google Drive. Os códigos já estão inseridos no editor de scripts da planilha: docs.google.com/spreadsheets/d/1_m2LfGlG_wOzXppzi21uyehJleR4fbetE8wSIce3E6A/edit?usp=sharing
Olá. Baixei o seu modelo, mas quando fui alterar os dados dos presentes, pediu a sua autorização e enviei uma mensagem à você. Agora tenho que aguardar a sua autorização para poder dar continuidade?
Olá, parabéns pelo conteúdo será muito útil para mim! Gostaria de saber se teria como acrescentar na programação o Nome e identificação da pessoa que escolheu um item da lista??? Obrigada, fico no aguardo!
Como faria para que fosse lista suspensa ? Mas neste mesmo formato
3 роки тому+4
Simplesmente maravilho, consegui fazer, mas esclareço a quem estiver tentando não da pra copiar a planilha e pensar que vai funcionar, tem que usar tudo em uma planilha nova
@@alexandreleite8999 copiei o script para uma planilha de formulário nova, crie o formulário, faça uma resposta, abra a planilha e coloque o script lá, aí vai funcionar
Li praticamente todos os comentários. Os diversos erros relatados é porque a pessoa abre o Script fora da planilha pelo Google Drive. O correto é abrir o Script dentro da própria planilha, na aba ferramentas.
Excelente conteúdo! Me inscrevi no canal e já mandei logo o joinha! No entanto, tem um erro apresentando no script que não sei como resolver. A primeira resposta do formulário aciona a rotina AtualizaLista e ao invés de diminuir um item da lista, ela altera o número da linha da fórmula da planilha respostas de 2 para 3, fazendo com que a lista não seja atualizada. Se eu deixar isso continua acontecendo indefinidamente, passando de 3 para 4 e assim por diante. Daí eu executo a função chamando manualmente pela planilha e atualizo. Assim, as próximas respostas ficam certas. Um bug muito estranho! Pode me ajudar?!
Parabéns pelo conteúdo! Muito útil! Meu script estava dando erro pois não localizava a minha planilha com as respostas, portanto fiz uma pequena alteração na variável aba (linha 11) var aba = SpreadsheetApp.openById("insira aqui o ID de sua planilha").getSheetByName("Página1"); uma outra observação, para quem quiser mudar o tipo de pergunta do formulário para lista (linha 17 do código) pergID.asListItem().setChoiceValues(respostas);
Meu amigo, sou um leito no assunto, mas tenho quebrado a cabeça vasculhando a internet para tenta aprimorar algumas de minhas planilhas e formulários, suas explicações neste vídeo, para mim, foram fantásticas! Dentre todos que assisti sobre formulários e planilhas este é o que realmente deu prazer em assistir e uma grande satisfação por encontrar a solução para algo que até então eu só vinha encontrando notícia na internet no sentido de que era impossível realizar. Parabéns! Se existir a possibilidade de receber algumas orientações a título de aula particular eu adoraria. Meu e.mail é peagha1@gmail.com
Olá, bom dia. Agradeço o comentário, mas, infelizmente, não será possível aula particular. Você pode ser ajudado no fórum de suporte Google (support.google.com/s/community/). Eu participo e, via de regra, os voluntários não deixam dúvidas sem respostas lá. Agradeço mais uma vez e desejo boa sorte.
Estou tentando pra usar com caixa de seleção, troquei o asMultipleChoice por asCheckboxItem, funcionou, mas agora ele não reconhece quando vem mais de uma resposta, isso devido ao fato da resposta vir na planilha em uma mesma célula separada por virgula, como resolvo isso?
Muito bom o vídeo!! Tem como a pessoa que escolher um item da lista se identificar, ou seja, incluir na programação um campo com Nome?? Obrigada, fico no aguardo.
Olá, boa tarde. Agradeço o elogio. Como falado no vídeo, o seu formulário pode ter várias perguntas. No exemplo apresentado foi colocada uma pergunta somente por didática. No caso do seu questionamento, para acrescentar a identificação do respondente, não há necessidade de alterar a programação, basta criar a pergunta ou perguntas no formulário, desde que o ID da pergunta que interessa seja alterado no script. Claro que as fórmulas na planilha deverão ser alteradas também consequentemente. Espero ter sido útil. Abraços.
Olá, muito obrigado pela dica! Ao invés de pegar somente 20 linhas do intervalo, como seria para que esse número fosse ilimitado, conforme fosse crescendo a quantidade de linhas da planilha?
Nossa, que negócio difícil :( Eu só queria criar uma pergunta com as respostas em lista suspensa e puxar as possíveis respostas de uma lista de uma planilha, para não ter que digitar uma por uma. É possível fazer de um jeito diferente do vídeo?
Olá amigo, esse código desenvolvido no vídeo serve justamente para isso, para você poder buscar numa planilha as opções de resposta de uma pergunta de um formulário. Como você pode ter visto no vídeo, a situação criada é um tanto quanto mais complexa, pois trata-se de uma atualização constante das respostas possíveis (que seria uma lista de presentes). No seu caso, não seria necessário criar o acionador e os dados poderiam ser retirados diretamente de um intervalo na planilha onde constem os dados desejados. Nesse caso, o código a ser colocado no editor de scripts da sua planilha seria o seguinte (devidamente adaptado ao seu cenário): var form = FormApp.openById("ID DO FORMULÁRIO"); //RETIRAR O ID DA TELA DE CONFIGURAÇÃO function pegaIDs() { var perguntas = form.getItems(); perguntas.map(function(i) { Logger.log(i.getId().toString() + " - " + i.getTitle()); // ID e TÍTULO DA PERGUNTA }); } function atualizaLista() { var aba = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NOME DA ABA"); var pergID = form.getItemById("ID DA PERGUNTA"); var respostas = aba.getRange(2, 3, 20, 1) .getValues() .map(function(u) { return u[0] }) .filter(function(u) { return u != "" }); pergID.asMultipleChoiceItem().setChoiceValues(respostas); } Você precisa executar o script "pegaIDs()" para conhecer o ID da pergunta desejada e depois executar o "atualizaLista()" com esse código (ID) para que as respostas sejam colocadas na sua pergunta no formulário. Esse é o código mais simples que você verá. Se tiver dificuldades com programação, procure por um complemento de planilha que faça essa captura do intervalo. A desvantagem é que se o proprietário do complemento descontinuá-lo, você fica sem a atualização, mas é uma opção. Com o código próprio não há essa possibilidade. Bom, era isso. Boa sorte.
É possível fazer apenas usando um complemento chamado formRanger. Voce cria a lista em uma planilha do google e depois por esse complemento seliciona a sua lista para a pergunta desejada.
@@rafaelbarbosacruz Obrigado pelo comentário, desculpe pela demora na resposta. Sim, é possível utilizar complementos criados por terceiros, mas o objetivo do vídeo não é mostrar complementos e sim a lógica de programação para que o usuário possa desenvolver seus próprios scripts, até porque o complemento poderá não atender determinadas demandas específicas. A vantagem de desenvolver o seu próprio código é que ele nunca será descontinuado, como pode ocorrer com complementos.
Não estou conseguindo executar a função atualizaLista aparece "TypeError: Cannot read property 'getRange' of null" se alguém puder me ajudar. Agradeço!
Oi, amigo! Gostaria de usar o forms para gerenciar as inscrições para um evento online da universidade que ofertarão diversos tipos de atividades, sendo alguns com vagas ilimitadas e outros, como cursos, com vagas limitadas. Teria como limitar isso em uma das opções no formulário? Por exemplo, quando determinado curso chegasse ao limite das vagas (ex. 50), sumisse a opção ou deixasse um aviso que impossibilitasse a pessoa se inscrever? Não queria ter que criar um formulário diferente para cada atividade, queria que fosse um único para concentrar todas as informações, onde fosse 1 link só e a pessoa se inscrevesse nas atividades que quisesse, já que pertencem todos no mesmo evento. Teria como? Nós tentamos usar essas plataformas de gerenciamento de eventos, porém todas deram muito problema para os participantes se inscreverem, queríamos algo mais simples como o forms, que não tem erro pra pessoa se inscrever, sabe? Obrigada!
Olá, boa tarde. O que eu posso falar assim genericamente é que é perfeitamente possível o que você deseja, mas não é simples. Exige uma programação e uma modelagem bem feita da planilha e do formulário e suas perguntas. Com programação, você pode criar um formulário no qual todas as perguntas (e as opções de respostas) sejam originadas em uma planilha, tal como fizemos no vídeo com uma pergunta única. Seguindo uma lógica semelhante à do vídeo, uma ideia seria criar uma coluna contendo os cursos, eventos, etc; uma outra com o número de vagas ofertadas (inicialmente) e uma outra, fruto de processamento das respostas (via fórmulas nativas do Google Planilhas), contendo a quantidade atualizada de vagas em tempo real. Quando o número de vagas disponíveis atingisse zero, esse evento deixaria de aparecer como opção de inscrição (tal como os presentes que foram escolhidos no exemplo que criamos no vídeo). Essa é uma ideia bem embrionária. Você citou que existem plataformas de gerenciamento de eventos, não conheço, mas avalie se é o caso considerando que no caso do Google, teria que desenvolver todo o código para gerenciar essas inscrições, embora você julgue ser mais intuitivo para o respondente os formulários Google. Abraços.
Olá, boa tarde. Essa mensagem indica que houve alguma inconsistência na tentativa de buscar a aba/guia com o nome informado na linha 11. Verifique se o nome da aba indicada está no script exatamente como na aba. Sugiro que copie e cole. Se não der certo e não souber como resolver, sugiro que faça uma nova cópia da minha planilha em seu Google Drive, faça as edições necessárias como já indiquei em outros comentários, conceda as permissões de execução e depure o código novamente, pois ele se encontra perfeitamente funcional na planilha que disponibilizei, ok? Um abraço e boa sorte.
A minha lista tem 42 itens. Eu uso os mesmos comandos do vídeo, mas não funcionam. A coluna de lista de presentes não sincroniza com a coluna de presentes disponíveis. Ainda não avancei para as outras etapas por esse motivo.
Disponibilizei a planilha compartilhada acima para facilitar o estudo. Basta fazer uma cópia da planilha em seu Google Drive e abrir o editor de scripts (os códigos já estão lá). Um abraço.
Olá, boa noite. É possível sim, desde que você faça a alteração do tipo de pergunta. Dê uma pesquisada nas respostas que já dei que já há perguntas respondidas sobre essa alteração. Boa sorte.
fiz uma cópia e ele pede permissão para executar o código. Entao fiz copiando o código. ai consegui executar. mas a atualização nao tá funcionando. eu fiz o acionamento, a lista muda quando coloco mais coisa na planilha. mas a atualização nao muda
Olá, boa noite. A permissão solicitada refere-se à permissão de execução do código. O exemplo criado no vídeo e disponibilizado funciona, sugiro que comece do início, fazendo uma cópia da planilha e alterando-a para as suas necessidades. Boa sorte.
Meu amigo, Te perguntar, vamos supor que a pessoa quer dar uma tv e mais 8 itens da lista. Como eu posso fazer ? Muito obg seu vídeo já me ajudou muito
Olá bom dia. Sim, é possível fazer com a escolha de vários presentes. Nesse caso, você poderá adotar um dos procedimentos: 1. Orientar para que a pessoa faça o envio do formulário tantas vezes quantos forem os presentes a serem dados, escolhendo um a cada envio; ou 2. Alterar o formulário e o código para o tipo de pergunta caixa de seleção (tipo "checkbox"), que é daquelas que você marca várias opções. Funciona do mesmo jeito, mas o código tem que ser adaptado. Se você desejar, dê uma olhada no link a seguir, que possui a ajuda para a programação de formulários: developers.google.com/apps-script/reference/forms/checkbox-item#setchoicevaluesvalues. Se houver dificuldade, eu o oriento a postar a sua necessidade em nosso fórum de editores de documentos (support.google.com/s/community/). Embora ele não seja para dar suporte em programação, muitas vezes pessoas são ajudadas com scripts. Espero ter ajudado. Boa sorte.
@@PlanilhasScripts Queria fazer o mesmo que o amigo falou, já consegui colocar a funcionar conforme o seu vídeo e ficou perfeito, porém coloquei uma opçao que a pessoa pode escolher mais de um item e a resposta ficaria: batedeira, televisao, liquidificador. Os itens ficam na mesma coluna mas separados por virgula, dessa forma a planilha para de entender e nao exclui mais as 3 opçoes. Me ajude por favor! Eu entendo zero de programaçao e estou queimando a cabeça com algo que deve ser fácil.
@@rafaelbarbosacruz Olá, amigo. O nosso propósito com o canal não é propriamente esgotar cada assunto, mas apenas fornecer subsídios para que o usuário veja o leque de possibilidades com o emprego combinado de programação e funções nativas. A resposta para a sua necessidade é exatamente a que forneci acima para o Matheus Vidal. No seu caso, já que o formulário teve o tipo de pergunta alterado para o tipo que permite diversas respostas (mediante o uso de checkbox), a programação e a fórmula na planilha devem ser alterados adequadamente. Não é simples, ou melhor, é e não é, mas é possível a alteração por um não programador. Você (ou um programador) deverá alterar a classe de múltipla escolha (MultipleChoiceItem) para checkbox (CheckboxItem) e atribuir os valores contidos na matriz "respostas" ao item. Na planilha, ainda terá que alterar a fórmula utilizada para recuperar os itens já escolhidos, já que com o checkbox as mesmas estarão na mesma célula, apenas separadas por vírgulas. Nesse caso, você poderá utilizar a função nativa SPLIT, em combinação com outras, para separar os itens por vírgulas, desde que a própria descrição do item (opção) não contenha, também, uma vírgula. Exemplos de escolhas com vírgulas na descrição: - Secador de cabelos, marca X, 127 volts - Ventilador de mesa 50cm, 5 pás, preto, 127 volts Essa, na verdade, é uma questão secundária, o foco deve ser na alteração dos códigos na programação. No link que forneci na outra resposta acima, você poderá consultar a sintaxe da programação necessária. Bom, era isso. Espero ter sido útil. Um abraço e boa sorte.
Olá, boa noite. Você deverá alterar o formulário e o código para o tipo de pergunta caixa de seleção (tipo "checkbox"), que é daquelas que você marca várias opções. Já respondi pergunta semelhante (resposta dada ao Matheus Vidal). Sugiro que dê uma olhada no link a seguir, que possui a ajuda para a programação de formulários: developers.google.com/apps-script/reference/forms/checkbox-item#setchoicevaluesvalues. Espero ter sido útil. Boa sorte.
Olá Boa noite. Eu não consegui entender aonde vou escrever o código que você escreveu aparentemente abrindo uma aba projeto novo. Me perdi nesse passo. Eu fiz a cópia do arquivo que você disponibilizou (agradeço muito) porque eu fiz como você ensinou e não deu certo - kkkkk, mas esta parte do código eu realmente não entendi.
Olá, bom dia. Agradeço o comentário. Quando você faz a cópia de uma planilha em seu Google Drive (o que você parece que fez), os códigos são copiados para essa nova versão também. Portanto, basta você abrir o Editor de Scripts dessa sua cópia e você verá os códigos já digitados. Claro, que, conforme já falei para outros que perguntaram, você deverá fazer nesse código as edições e adaptações necessárias à sua verdadeira demanda. Para abrir o editor, clique em "Extensões -> Apps Scripts". Boa sorte.
Olá, estou tentando fazer uma lista de presentes exatamente como no exemplo q vc usou nesse vídeo. Estou fazendo tudo exatamente igual, passo a passo, mas parei no minuto 9:49 pq meu arquivo fica dando um erro "Cannot read property 'getRange' of null" na linha 13. O q faço?
Disponibilizei a planilha compartilhada acima para facilitar o estudo. Basta fazer uma cópia da planilha em seu Google Drive e abrir o editor de scripts (os códigos já estão lá). Um abraço.
@@GabrielMoraes0 Olá, bom dia. Se você criar uma cópia da planilha compartilhada em seu Google Drive, os códigos e o formulário também serão criados. No editor de scripts dessa cópia, você deverá editar o ID do formulário; capturar e editar o ID da pergunta (executando a função pegaIDs()); alterar o nome da aba, se for o caso; e criar o acionador e conceder as permissões de execução necessárias. Acho que é somente isso. Abraços e boa sorte.
Olá, amigo, boa noite. Nesta plataforma fica difícil identificar problemas peculiares. Presumo que você abriu a minha planilha (o link está disponível em algumas respostas anteriores), fez uma cópia da mesma, abriu o editor de scripts (da cópia criada em seu Google Drive), fez as edições já recomendadas adequando o código ao seu ambiente (ID do formulário e da pergunta e o nome da aba) e executou o código para conceder as permissões de execução do código. Desta forma, deve funcionar. Depois, você pode estudar o código (à luz da sintaxe de cada classe e método) e partir para as modificações que julgar necessárias. Com calma, você consegue. Espero ter sido útil, boa sorte.
Olá, bom dia. Nesta plataforma fica difícil identificar problemas peculiares. Presumo que você abriu a minha planilha (o link está disponível em algumas respostas anteriores), fez uma cópia da mesma, abriu o editor de scripts (da cópia criada em seu Google Drive), fez as edições já recomendadas adequando o código ao seu ambiente (ID do formulário e da pergunta e o nome da aba) e executou o código para conceder as permissões de execução do código. Desta forma, funciona. Depois, você pode estudar o código (à luz da sintaxe de cada classe e método) e partir para as modificações que julgar necessárias. Com calma, você consegue, mas não é simples. Espero ter sido útil, boa sorte.
@@natytads Essa identificação do seu formulário (ID), você obtém na barra de endereços do seu navegador estando com o formulário aberto para edição (e não para envio). Reveja o vídeo, por favor, especificamente, a partir do tempo 4:31. Com a sua cópia da planilha aberta, vá no editor de scripts da mesma e faça a alteração do código colocando esse ID.
Oi, fiz exatamente como no vídeo. Tá quase tudo funcionando, exceto a parte de sumir os itens já escolhidos. Ele fica lá na planilha na aba respostas ao formulário, mas não some da lista presente disponíveis, e tbm não some do formulário :( . ... alguém pode me ajudar?
resolvi em partes. o problema agora está só no acionador. ele não está funcionando, forçando a executar manualmente. outro detalhe é, eu inseri imagens, e quando atualizo elas somem. Tem alguma solução simples para corrigir isso?
Olá, boa tarde. Não estou certo que tenha entendido a sua pergunta, mas o script desenvolvido no vídeo já está na planilha que compartilhei, bastando que seja devidamente adaptado às suas necessidades na cópia da planilha que você criar em seu Google Drive. Abraços.
Olá! Não é o mesmo caso, mas tem como ter um atualização automática de data em um teste de formulário? Sou professor e já consegui algum avanço com o Forms para registro de presença, mas gostaria que o aluno marcasse em um teste (múltipla ou lista) a data atual. É possível fazer só com scripts? Obrigado
@@PlanilhasScripts , eu gostaria de saber se tem onde ensina a fazer um teste (múltipla escolha ou teste) que todo dia que meu aluno acessasse para registrar sua presença a opção a ser "tickada" tivesse sua data atualizada.
@@matusalemdamarin4060 Olá, bom dia. Não entendi ainda exatamente, mas observe que no minuto 11:31 eu utilizo setDescription no título do formulário e insiro a data/hora atual formatada com New Date(). Esse procedimento pode ser feito nas perguntas e nas respostas também, de forma que sempre a data (ou com a hora também) esteja atualizada no momento em que o usuário abre o formulário. Toda a literatura com as sintaxes das classes e métodos do GAS podem ser vistas em developers.google.com/apps-script/reference. Com relação ao Javascript existem vários sites dedicados à linguagem, mas eu gosto deste especialmente www.w3schools.com que possui várias linguagens e a interface é bem amigável. Espero ter ajudado. Boa sorte.
Olá, Edvan. Boa tarde. Agradeço o comentário e concordo plenamente com você, o uso de complementos de terceiros são realmente mais fáceis e mais rápidos, pois já estão prontos, bastando fazer a instalação, mas são propostas bem distintas: no vídeo que você indicou, o canal indica o uso de dois complementos; na solução que proponho, você desenvolve a sua codificação, com os requisitos próprios da sua demanda e sem o risco de ter um eventual complemento descontinuado. Se você observar nos comentários do vídeo que você indicou, muitas pessoas reclamam ou assinalam que ambos os complementos recomendados no vídeo foram descontinuados ou se tornaram pagos, deixando os usuários na mão. Veja lá nos comentários e confirme isso que estou falando. Desenvolvendo o seu código e o instalando no editor de scripts da sua planilha, ele ficará funcional eternamente. Espero ter esclarecido. Não o estou incentivando a não utilizar complementos, pelo contrário, os recomendo também, mas fique atento ao prazo de validade do mesmo. Se houver alguma questão adicional, pode falar aqui, tá? Um abraço.
Tendo em vista que algumas pessoas não estão conseguindo reproduzir o automatismo apresentado no vídeo, estou disponibilizando o link da planilha compartilhada. Para utilizá-la, é necessário fazer uma cópia da mesma em seu Google Drive. Os códigos já estão inseridos no editor de scripts da planilha: docs.google.com/spreadsheets/d/1_m2LfGlG_wOzXppzi21uyehJleR4fbetE8wSIce3E6A/edit?usp=sharing
Olá. Baixei o seu modelo, mas quando fui alterar os dados dos presentes, pediu a sua autorização e enviei uma mensagem à você. Agora tenho que aguardar a sua autorização para poder dar continuidade?
@@atavarespsi Olá, boa noite. Para utilizar a planilha, você deve criar uma cópia da mesma em seu Google Drive, ok? Um abraço e boa sorte.
Olá, parabéns pelo conteúdo será muito útil para mim! Gostaria de saber se teria como acrescentar na programação o Nome e identificação da pessoa que escolheu um item da lista???
Obrigada, fico no aguardo!
@@Vitoriacruz7 Já respondida em outro questionamento. Abraços.
Como faria para que fosse lista suspensa ? Mas neste mesmo formato
Simplesmente maravilho, consegui fazer, mas esclareço a quem estiver tentando não da pra copiar a planilha e pensar que vai funcionar, tem que usar tudo em uma planilha nova
Como você conseuiu fazer?
@@alexandreleite8999 copiei o script para uma planilha de formulário nova, crie o formulário, faça uma resposta, abra a planilha e coloque o script lá, aí vai funcionar
excelente, muito bom, prático e eficiente.
Li praticamente todos os comentários. Os diversos erros relatados é porque a pessoa abre o Script fora da planilha pelo Google Drive. O correto é abrir o Script dentro da própria planilha, na aba ferramentas.
Excelente conteúdo! Me inscrevi no canal e já mandei logo o joinha! No entanto, tem um erro apresentando no script que não sei como resolver. A primeira resposta do formulário aciona a rotina AtualizaLista e ao invés de diminuir um item da lista, ela altera o número da linha da fórmula da planilha respostas de 2 para 3, fazendo com que a lista não seja atualizada. Se eu deixar isso continua acontecendo indefinidamente, passando de 3 para 4 e assim por diante. Daí eu executo a função chamando manualmente pela planilha e atualizo. Assim, as próximas respostas ficam certas. Um bug muito estranho! Pode me ajudar?!
Parabéns pelo conteúdo! Muito útil!
Meu script estava dando erro pois não localizava a minha planilha com as respostas, portanto fiz uma pequena alteração na variável aba (linha 11)
var aba = SpreadsheetApp.openById("insira aqui o ID de sua planilha").getSheetByName("Página1");
uma outra observação, para quem quiser mudar o tipo de pergunta do formulário para lista (linha 17 do código)
pergID.asListItem().setChoiceValues(respostas);
eu não estou conseguindo fazer pro item sumir depois que a pessoa seleciona ele , poderia me ajudar ?
@@natytads Verifica a fórmula na planilha, provavelmente houve algum erro
Perfeito @bmfedrigo resolveu o mesmo problema aqui, obrigado!
Meu amigo, sou um leito no assunto, mas tenho quebrado a cabeça vasculhando a internet para tenta aprimorar algumas de minhas planilhas e formulários, suas explicações neste vídeo, para mim, foram fantásticas! Dentre todos que assisti sobre formulários e planilhas este é o que realmente deu prazer em assistir e uma grande satisfação por encontrar a solução para algo que até então eu só vinha encontrando notícia na internet no sentido de que era impossível realizar. Parabéns! Se existir a possibilidade de receber algumas orientações a título de aula particular eu adoraria. Meu e.mail é peagha1@gmail.com
Olá, bom dia. Agradeço o comentário, mas, infelizmente, não será possível aula particular. Você pode ser ajudado no fórum de suporte Google (support.google.com/s/community/). Eu participo e, via de regra, os voluntários não deixam dúvidas sem respostas lá. Agradeço mais uma vez e desejo boa sorte.
Parabéns pelo conteúdo!
Me ajudou muito! Obrigada 🎉🎉
Estou tentando pra usar com caixa de seleção, troquei o asMultipleChoice por asCheckboxItem, funcionou, mas agora ele não reconhece quando vem mais de uma resposta, isso devido ao fato da resposta vir na planilha em uma mesma célula separada por virgula, como resolvo isso?
Muito bom o vídeo!! Tem como a pessoa que escolher um item da lista se identificar, ou seja, incluir na programação um campo com Nome??
Obrigada, fico no aguardo.
Olá, boa tarde. Agradeço o elogio. Como falado no vídeo, o seu formulário pode ter várias perguntas. No exemplo apresentado foi colocada uma pergunta somente por didática. No caso do seu questionamento, para acrescentar a identificação do respondente, não há necessidade de alterar a programação, basta criar a pergunta ou perguntas no formulário, desde que o ID da pergunta que interessa seja alterado no script. Claro que as fórmulas na planilha deverão ser alteradas também consequentemente. Espero ter sido útil. Abraços.
Olá, muito obrigado pela dica! Ao invés de pegar somente 20 linhas do intervalo, como seria para que esse número fosse ilimitado, conforme fosse crescendo a quantidade de linhas da planilha?
Você conseguiu executar o código?
Nossa, que negócio difícil :( Eu só queria criar uma pergunta com as respostas em lista suspensa e puxar as possíveis respostas de uma lista de uma planilha, para não ter que digitar uma por uma. É possível fazer de um jeito diferente do vídeo?
Olá amigo, esse código desenvolvido no vídeo serve justamente para isso, para você poder buscar numa planilha as opções de resposta de uma pergunta de um formulário. Como você pode ter visto no vídeo, a situação criada é um tanto quanto mais complexa, pois trata-se de uma atualização constante das respostas possíveis (que seria uma lista de presentes). No seu caso, não seria necessário criar o acionador e os dados poderiam ser retirados diretamente de um intervalo na planilha onde constem os dados desejados. Nesse caso, o código a ser colocado no editor de scripts da sua planilha seria o seguinte (devidamente adaptado ao seu cenário):
var form = FormApp.openById("ID DO FORMULÁRIO"); //RETIRAR O ID DA TELA DE CONFIGURAÇÃO
function pegaIDs() {
var perguntas = form.getItems();
perguntas.map(function(i) {
Logger.log(i.getId().toString() + " - " + i.getTitle()); // ID e TÍTULO DA PERGUNTA
});
}
function atualizaLista() {
var aba = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("NOME DA ABA");
var pergID = form.getItemById("ID DA PERGUNTA");
var respostas = aba.getRange(2, 3, 20, 1)
.getValues()
.map(function(u) { return u[0] })
.filter(function(u) { return u != "" });
pergID.asMultipleChoiceItem().setChoiceValues(respostas);
}
Você precisa executar o script "pegaIDs()" para conhecer o ID da pergunta desejada e depois executar o "atualizaLista()" com esse código (ID) para que as respostas sejam colocadas na sua pergunta no formulário. Esse é o código mais simples que você verá. Se tiver dificuldades com programação, procure por um complemento de planilha que faça essa captura do intervalo. A desvantagem é que se o proprietário do complemento descontinuá-lo, você fica sem a atualização, mas é uma opção. Com o código próprio não há essa possibilidade. Bom, era isso. Boa sorte.
@@PlanilhasScripts muito obrigado!
É possível fazer apenas usando um complemento chamado formRanger. Voce cria a lista em uma planilha do google e depois por esse complemento seliciona a sua lista para a pergunta desejada.
@@rafaelbarbosacruz Obrigado pelo comentário, desculpe pela demora na resposta. Sim, é possível utilizar complementos criados por terceiros, mas o objetivo do vídeo não é mostrar complementos e sim a lógica de programação para que o usuário possa desenvolver seus próprios scripts, até porque o complemento poderá não atender determinadas demandas específicas. A vantagem de desenvolver o seu próprio código é que ele nunca será descontinuado, como pode ocorrer com complementos.
Boa tarde! Gostaria de saber se consigo adicionar imagens também. Cheguei a colocar mas depois de enviar uma resposta todas as outras imagens somem
O getRange não funciona toda vez que coloco da erro
Não estou conseguindo executar a função atualizaLista aparece "TypeError: Cannot read property 'getRange' of null" se alguém puder me ajudar. Agradeço!
não consegui fazer, que estresse! kkkkk odeio planilhas e códigos e complicações, vcs podiam cobrar pra fazer, eu pagaria feliz!!!!!!!!!!!!!!!
Oi, amigo! Gostaria de usar o forms para gerenciar as inscrições para um evento online da universidade que ofertarão diversos tipos de atividades, sendo alguns com vagas ilimitadas e outros, como cursos, com vagas limitadas. Teria como limitar isso em uma das opções no formulário? Por exemplo, quando determinado curso chegasse ao limite das vagas (ex. 50), sumisse a opção ou deixasse um aviso que impossibilitasse a pessoa se inscrever? Não queria ter que criar um formulário diferente para cada atividade, queria que fosse um único para concentrar todas as informações, onde fosse 1 link só e a pessoa se inscrevesse nas atividades que quisesse, já que pertencem todos no mesmo evento. Teria como?
Nós tentamos usar essas plataformas de gerenciamento de eventos, porém todas deram muito problema para os participantes se inscreverem, queríamos algo mais simples como o forms, que não tem erro pra pessoa se inscrever, sabe?
Obrigada!
Olá, boa tarde. O que eu posso falar assim genericamente é que é perfeitamente possível o que você deseja, mas não é simples. Exige uma programação e uma modelagem bem feita da planilha e do formulário e suas perguntas. Com programação, você pode criar um formulário no qual todas as perguntas (e as opções de respostas) sejam originadas em uma planilha, tal como fizemos no vídeo com uma pergunta única. Seguindo uma lógica semelhante à do vídeo, uma ideia seria criar uma coluna contendo os cursos, eventos, etc; uma outra com o número de vagas ofertadas (inicialmente) e uma outra, fruto de processamento das respostas (via fórmulas nativas do Google Planilhas), contendo a quantidade atualizada de vagas em tempo real. Quando o número de vagas disponíveis atingisse zero, esse evento deixaria de aparecer como opção de inscrição (tal como os presentes que foram escolhidos no exemplo que criamos no vídeo). Essa é uma ideia bem embrionária. Você citou que existem plataformas de gerenciamento de eventos, não conheço, mas avalie se é o caso considerando que no caso do Google, teria que desenvolver todo o código para gerenciar essas inscrições, embora você julgue ser mais intuitivo para o respondente os formulários Google. Abraços.
Consegui certinho. Obrigada!!
Como vocês fez? aparentimente eu fiz tudo certo mas não consegui
No caso apenas trocar o ID do formulário ja basta?
Boa noite! Tá aparecendo o seguinte erro: "TypeError: Cannot read property 'getSheetByName' of null (linha 11, arquivo "Código")
Olá, boa tarde. Essa mensagem indica que houve alguma inconsistência na tentativa de buscar a aba/guia com o nome informado na linha 11. Verifique se o nome da aba indicada está no script exatamente como na aba. Sugiro que copie e cole. Se não der certo e não souber como resolver, sugiro que faça uma nova cópia da minha planilha em seu Google Drive, faça as edições necessárias como já indiquei em outros comentários, conceda as permissões de execução e depure o código novamente, pois ele se encontra perfeitamente funcional na planilha que disponibilizei, ok? Um abraço e boa sorte.
A minha lista tem 42 itens. Eu uso os mesmos comandos do vídeo, mas não funcionam. A coluna de lista de presentes não sincroniza com a coluna de presentes disponíveis. Ainda não avancei para as outras etapas por esse motivo.
Disponibilizei a planilha compartilhada acima para facilitar o estudo. Basta fazer uma cópia da planilha em seu Google Drive e abrir o editor de scripts (os códigos já estão lá). Um abraço.
Bom dia
Alguém consegue me enviar esse código?
e se for multipla escolha? no lugar de só um, a pessoa puder escolher mais de 1
Olá, boa noite. É possível sim, desde que você faça a alteração do tipo de pergunta. Dê uma pesquisada nas respostas que já dei que já há perguntas respondidas sobre essa alteração. Boa sorte.
🎉
fiz uma cópia e ele pede permissão para executar o código. Entao fiz copiando o código. ai consegui executar. mas a atualização nao tá funcionando. eu fiz o acionamento, a lista muda quando coloco mais coisa na planilha. mas a atualização nao muda
Olá, boa noite. A permissão solicitada refere-se à permissão de execução do código. O exemplo criado no vídeo e disponibilizado funciona, sugiro que comece do início, fazendo uma cópia da planilha e alterando-a para as suas necessidades. Boa sorte.
Tentei de várias formas e não consegui fazer
Meu amigo,
Te perguntar, vamos supor que a pessoa quer dar uma tv e mais 8 itens da lista.
Como eu posso fazer ?
Muito obg seu vídeo já me ajudou muito
Olá bom dia. Sim, é possível fazer com a escolha de vários presentes. Nesse caso, você poderá adotar um dos procedimentos:
1. Orientar para que a pessoa faça o envio do formulário tantas vezes quantos forem os presentes a serem dados, escolhendo um a cada envio; ou
2. Alterar o formulário e o código para o tipo de pergunta caixa de seleção (tipo "checkbox"), que é daquelas que você marca várias opções. Funciona do mesmo jeito, mas o código tem que ser adaptado.
Se você desejar, dê uma olhada no link a seguir, que possui a ajuda para a programação de formulários: developers.google.com/apps-script/reference/forms/checkbox-item#setchoicevaluesvalues.
Se houver dificuldade, eu o oriento a postar a sua necessidade em nosso fórum de editores de documentos (support.google.com/s/community/). Embora ele não seja para dar suporte em programação, muitas vezes pessoas são ajudadas com scripts. Espero ter ajudado. Boa sorte.
@@PlanilhasScripts Queria fazer o mesmo que o amigo falou, já consegui colocar a funcionar conforme o seu vídeo e ficou perfeito, porém coloquei uma opçao que a pessoa pode escolher mais de um item e a resposta ficaria: batedeira, televisao, liquidificador.
Os itens ficam na mesma coluna mas separados por virgula, dessa forma a planilha para de entender e nao exclui mais as 3 opçoes.
Me ajude por favor! Eu entendo zero de programaçao e estou queimando a cabeça com algo que deve ser fácil.
@@rafaelbarbosacruz Olá, amigo. O nosso propósito com o canal não é propriamente esgotar cada assunto, mas apenas fornecer subsídios para que o usuário veja o leque de possibilidades com o emprego combinado de programação e funções nativas. A resposta para a sua necessidade é exatamente a que forneci acima para o Matheus Vidal. No seu caso, já que o formulário teve o tipo de pergunta alterado para o tipo que permite diversas respostas (mediante o uso de checkbox), a programação e a fórmula na planilha devem ser alterados adequadamente. Não é simples, ou melhor, é e não é, mas é possível a alteração por um não programador. Você (ou um programador) deverá alterar a classe de múltipla escolha (MultipleChoiceItem) para checkbox (CheckboxItem) e atribuir os valores contidos na matriz "respostas" ao item. Na planilha, ainda terá que alterar a fórmula utilizada para recuperar os itens já escolhidos, já que com o checkbox as mesmas estarão na mesma célula, apenas separadas por vírgulas. Nesse caso, você poderá utilizar a função nativa SPLIT, em combinação com outras, para separar os itens por vírgulas, desde que a própria descrição do item (opção) não contenha, também, uma vírgula. Exemplos de escolhas com vírgulas na descrição:
- Secador de cabelos, marca X, 127 volts
- Ventilador de mesa 50cm, 5 pás, preto, 127 volts
Essa, na verdade, é uma questão secundária, o foco deve ser na alteração dos códigos na programação.
No link que forneci na outra resposta acima, você poderá consultar a sintaxe da programação necessária.
Bom, era isso. Espero ter sido útil. Um abraço e boa sorte.
como faria para perguntas do tipo checkbox (mais de um item podendo ser marcado)?
Olá, boa noite. Você deverá alterar o formulário e o código para o tipo de pergunta caixa de seleção (tipo "checkbox"), que é daquelas que você marca várias opções. Já respondi pergunta semelhante (resposta dada ao Matheus Vidal).
Sugiro que dê uma olhada no link a seguir, que possui a ajuda para a programação de formulários: developers.google.com/apps-script/reference/forms/checkbox-item#setchoicevaluesvalues.
Espero ter sido útil. Boa sorte.
Olá Boa noite. Eu não consegui entender aonde vou escrever o código que você escreveu aparentemente abrindo uma aba projeto novo. Me perdi nesse passo. Eu fiz a cópia do arquivo que você disponibilizou (agradeço muito) porque eu fiz como você ensinou e não deu certo - kkkkk, mas esta parte do código eu realmente não entendi.
Olá, bom dia. Agradeço o comentário. Quando você faz a cópia de uma planilha em seu Google Drive (o que você parece que fez), os códigos são copiados para essa nova versão também. Portanto, basta você abrir o Editor de Scripts dessa sua cópia e você verá os códigos já digitados. Claro, que, conforme já falei para outros que perguntaram, você deverá fazer nesse código as edições e adaptações necessárias à sua verdadeira demanda. Para abrir o editor, clique em "Extensões -> Apps Scripts". Boa sorte.
Depois que eu adiciono meu 53 itens na sua lista, como faço pra abrir o formulário e verificar se esta tudo certo?
Boa tarde. Não entendi a sua dúvida.
Boa tarde, qual o comando uso para o exemplo "quero 3 fraldas M" apos ser selecionado nessa quantidade ele some da lista ?
agradeco a ajuda
Olá, sinto muito, mas não compreendi o que deseja.
Amigo, boa noite... fiz uma pergunta na postagem anterior...verifica com carinho por gentileza...
Postei a resposta lá com o link da planilha que desenvolvemos no vídeo. Faça uma cópia da mesma para poder utilizá-la. Até mais.
MINHA GENTE PELO AMOR DE DEUS, É MUITO DIFÍCIL. NÃO CONSEGUI SOS
Olá, estou tentando fazer uma lista de presentes exatamente como no exemplo q vc usou nesse vídeo. Estou fazendo tudo exatamente igual, passo a passo, mas parei no minuto 9:49 pq meu arquivo fica dando um erro "Cannot read property 'getRange' of null" na linha 13. O q faço?
Disponibilizei a planilha compartilhada acima para facilitar o estudo. Basta fazer uma cópia da planilha em seu Google Drive e abrir o editor de scripts (os códigos já estão lá). Um abraço.
@@GabrielMoraes0 Olá, bom dia. Se você criar uma cópia da planilha compartilhada em seu Google Drive, os códigos e o formulário também serão criados. No editor de scripts dessa cópia, você deverá editar o ID do formulário; capturar e editar o ID da pergunta (executando a função pegaIDs()); alterar o nome da aba, se for o caso; e criar o acionador e conceder as permissões de execução necessárias. Acho que é somente isso. Abraços e boa sorte.
Fiz isso e não funciona e nem atualiza o formulário@@PlanilhasScripts
Salve amigo. Tenho tido problema na linha 18 do codigo, é o que diz que não consigo rodar o script. Pode dar uma ajuda?
Olá, amigo, boa noite. Nesta plataforma fica difícil identificar problemas peculiares. Presumo que você abriu a minha planilha (o link está disponível em algumas respostas anteriores), fez uma cópia da mesma, abriu o editor de scripts (da cópia criada em seu Google Drive), fez as edições já recomendadas adequando o código ao seu ambiente (ID do formulário e da pergunta e o nome da aba) e executou o código para conceder as permissões de execução do código. Desta forma, deve funcionar. Depois, você pode estudar o código (à luz da sintaxe de cada classe e método) e partir para as modificações que julgar necessárias. Com calma, você consegue. Espero ter sido útil, boa sorte.
Não estou conseguindo fazer, fica dando erro, poderia me ajudar ?
Olá, bom dia. Nesta plataforma fica difícil identificar problemas peculiares. Presumo que você abriu a minha planilha (o link está disponível em algumas respostas anteriores), fez uma cópia da mesma, abriu o editor de scripts (da cópia criada em seu Google Drive), fez as edições já recomendadas adequando o código ao seu ambiente (ID do formulário e da pergunta e o nome da aba) e executou o código para conceder as permissões de execução do código. Desta forma, funciona. Depois, você pode estudar o código (à luz da sintaxe de cada classe e método) e partir para as modificações que julgar necessárias. Com calma, você consegue, mas não é simples. Espero ter sido útil, boa sorte.
@@PlanilhasScripts eu estou tendo problema em editar o ID do formulário, acho que não compreendi direito como fazer !
@@natytads Essa identificação do seu formulário (ID), você obtém na barra de endereços do seu navegador estando com o formulário aberto para edição (e não para envio). Reveja o vídeo, por favor, especificamente, a partir do tempo 4:31. Com a sua cópia da planilha aberta, vá no editor de scripts da mesma e faça a alteração do código colocando esse ID.
Oi, fiz exatamente como no vídeo. Tá quase tudo funcionando, exceto a parte de sumir os itens já escolhidos. Ele fica lá na planilha na aba respostas ao formulário, mas não some da lista presente disponíveis, e tbm não some do formulário :( . ... alguém pode me ajudar?
resolvi em partes. o problema agora está só no acionador. ele não está funcionando, forçando a executar manualmente. outro detalhe é, eu inseri imagens, e quando atualizo elas somem. Tem alguma solução simples para corrigir isso?
@@juansilva3524Olá, conseguiu resolver esse problema com as imagens? Estou travada nisso e não sei como resolver :(
esse script jaá está feito ou precisamos fazer?
Olá, boa tarde. Não estou certo que tenha entendido a sua pergunta, mas o script desenvolvido no vídeo já está na planilha que compartilhei, bastando que seja devidamente adaptado às suas necessidades na cópia da planilha que você criar em seu Google Drive. Abraços.
Olá!
Não é o mesmo caso, mas tem como ter um atualização automática de data em um teste de formulário?
Sou professor e já consegui algum avanço com o Forms para registro de presença, mas gostaria que o aluno marcasse em um teste (múltipla ou lista) a data atual.
É possível fazer só com scripts? Obrigado
Olá, não entendi o que deseja.
@@PlanilhasScripts , eu gostaria de saber se tem onde ensina a fazer um teste (múltipla escolha ou teste) que todo dia que meu aluno acessasse para registrar sua presença a opção a ser "tickada" tivesse sua data atualizada.
@@matusalemdamarin4060 Olá, bom dia. Não entendi ainda exatamente, mas observe que no minuto 11:31 eu utilizo setDescription no título do formulário e insiro a data/hora atual formatada com New Date(). Esse procedimento pode ser feito nas perguntas e nas respostas também, de forma que sempre a data (ou com a hora também) esteja atualizada no momento em que o usuário abre o formulário. Toda a literatura com as sintaxes das classes e métodos do GAS podem ser vistas em developers.google.com/apps-script/reference. Com relação ao Javascript existem vários sites dedicados à linguagem, mas eu gosto deste especialmente www.w3schools.com que possui várias linguagens e a interface é bem amigável. Espero ter ajudado. Boa sorte.
@@PlanilhasScripts muito obrigado!
o meu acionador nao ta atualizando
Olá, boa noite. Sugiro que recomece fazendo cópia da planilha compartilhada observando os detalhes explanados no vídeo. Boa sorte.
@@PlanilhasScripts consegui obrigada
NO VIDEO ua-cam.com/video/ljyhVvjF1jY/v-deo.html ACHEI MAIS FACIL
Olá, Edvan. Boa tarde. Agradeço o comentário e concordo plenamente com você, o uso de complementos de terceiros são realmente mais fáceis e mais rápidos, pois já estão prontos, bastando fazer a instalação, mas são propostas bem distintas: no vídeo que você indicou, o canal indica o uso de dois complementos; na solução que proponho, você desenvolve a sua codificação, com os requisitos próprios da sua demanda e sem o risco de ter um eventual complemento descontinuado. Se você observar nos comentários do vídeo que você indicou, muitas pessoas reclamam ou assinalam que ambos os complementos recomendados no vídeo foram descontinuados ou se tornaram pagos, deixando os usuários na mão. Veja lá nos comentários e confirme isso que estou falando. Desenvolvendo o seu código e o instalando no editor de scripts da sua planilha, ele ficará funcional eternamente. Espero ter esclarecido. Não o estou incentivando a não utilizar complementos, pelo contrário, os recomendo também, mas fique atento ao prazo de validade do mesmo. Se houver alguma questão adicional, pode falar aqui, tá? Um abraço.