CADASTRO DE FUNCIONÁRIOS AUTOMATIZADO Simples e Fácil - Planilhas Google + Google Apps Script - pt 1
Вставка
- Опубліковано 8 вер 2024
- Fala Galera!!!
Vou ensinar aqui como construir do zero um formulário de cadastro de funcionários completamente programado e automatizado para o planilhas google.
Esse é na verdade um remake de um formulário que fiz no começo do canal mas com uma qualidade de vídeo e áudio melhor. Além disso estou fazendo com um código mais simples e limpo para vocês.
Estou longe de ser um programador top das galáxias mas sempre vi a programação como ferramenta e para esse caso o script funciona super bem. Obviamente existem mil maneiras de fazer esse mesmo script funcionar e isso é uma das coisas que me encanta nessa área de programação. Vamos aprendendo e melhorando juntos =)
QUER UMA PLANILHA PERSONALIZADA PARA SEU USO OU DA SUA EMPRESA? ENTRE EM CONTATO POR E-MAIL!
watanabe.planilhas@gmail.com
Me Ajude a melhorar o SETUP do estúdio: PIX watanabe.planilhas@gmail.com
Se você não puder contribuir via pix, você ainda pode contribuir MUITO para o canal sem pagar nada por isso, apenas DEIXANDO O LIKE e se INSCREVENDO já estará ajudando muito esse canal que está apenas começando!
Obrigado a todos que estão acompanhando, o apoio que venho recebendo nesse canal desde tão cedo é sensacional!
Se vocês tiverem sugestões, coisas que gostariam de adicionar ou mudar, manda nos comentários que estou sempre lendo e respondendo todos os comentários
Do mais, espero vocês nos próximos vídeos!
#googlesheets #cadastrodefuncionario #GoogleAppsScript
cara, te descobri há pouco tempo e já estou viciado nos teus videos, sáo muito bons, e vc tem um didática EXCELENTE, não fica só "cuspindo os dados", explica como e o que faz cada linha de cod.
Mais uma vez mes parabéns, já favoritei teu canal e virei fá.
Sensacional. Explicações claras e objetivas. Muito obrigado.
Simplesmente muito bem explicado.. com enorme utilidade para outras planilhas também.. muito obrigado pela aula!
Primeiramente, obrigado por compartilhar conhecimento e sucesso no teu projeto.
Uma sugestão para impedir o registro de dados duplicados em um cadastro de pessoas é utilizar informações únicas, como o CPF.
Há vários homônimos (pessoas com o mesmo nome) e usar a coluna nome como teste é falho.
Siiim, super válido teu comentário. Na verdade isso é cena dos próximos capítulos
Em outro vídeo eu trago um pouco disso, na verdade eu falo do CPF mas dou ênfase na criação de um ID.
Nesse vídeo eu coloquei no nome por conta de querer trazer a ideia do trim e do tolowercase para comparar os textos.
Num próximo vídeo vou mudar essa validação pro CPF aí trazendo a mesma coisa, só que removendo também números e traços tanto na busca quanto no cadastro.
É que nesse tema eu vou ter que entrar em regex e aí fica um tanto mais complicado, se trouxesse nesse vídeo ia pra quase uma hora de duração tranquilo
Perfeito, até aqui esta funcionando... Parabéns!
Massa, amigo!! Grato por compartilhar seu conhecimento e didática excelentes!!! Estou aprendendo e muitooooooo com você!! Abraço!
0:15 obrigado por tudo autoridade social graças a voces as minhas redes estao voando alto
Fico feliz em encontrar preciosos conhecimentos compartilhados, parabéns. Pergunto tem como limpar o resultado ou seja, apagar todos os dados da célula, a partir de uma condição SE(IF) for negativo e manter sempre que for positivo?
Parabéns, muito prático e facil.
Obrigado pela ajuda
Obrigado pela doação do seu trabalho!🤝
Faço de coração 🤩💪
Gostei demais desse curso. Muito obrigado.
Show ! Aula top parabéns pelo trabalho, poderia fazer salvando de um formulário HTML e salvar na planilha
Muito bom!!!! Não sei programar nada e com o seu vídeo consegui montar um formulário de lançamentos de pagamentos. Você teria alguma explicação de como deixar o formulário em branco após inserir os dados. Muito obrigado!!!!!
Gostei do vídeo, vc ensina de uma maneira muito fácil compreender,
Vc pode fazer um vídeo de agendar horário de clientes , em uma planilha dessa mesma forma , marcando horário , dia , quantos minutos será o atendimento
Se poder fazer essa demonstração , agradeço!
Olá.mais uma vez parabéns pelo trabalho desenvolvido... você explica muito bem.. seria top se você pudesse fazer video explicando como pegar dados em linhas e colunas diferentes...
Muito bom o vídeo!! Eu precisava de um código para imprimir duas páginas específicas de uma planilha, através de um botão, vc tem??
Pronto não tenho, mas posso trazer em um vídeo, se quiser me chama pelo email que conversamos
watanabe.planilhas@gmail.com
Muito obrigado. Está sendo muito útil para mim.
Que ótimo! Fico feliz demais em saber!!! Não esquece de compartilhar com outras pessoas que possam se interessar!! =)
CARA EXELENTE!
Parabéns Daniel! Vídeo excelente! Teria algum script que eu poderia bloquear o copiar e colar no google sheet? Grande Abraço!
Putz cara, isso aí eu nunca pensei, sinceramente acredito que não
Olá professor gratidão pela aula
Cara, estou criando um cadastro de clientes pet shop, tudo certinho conforme vc ensinou, mas eu preciso agora, quando localizar um cliente, poder jogar os dados dele para outra planilha e assim criar os agendamentos, quando tiver um tempinho e puder me dar uma ajuda agradeço muito
Muito obrigado cara....
Adorei o tutorial, sou completamente leiga em planilhas e tá me ajudando muito!!!
porem tenho duas duvidas!
Eu quero que meus dados sejam salvos sempre que a ultima linha da primeira coluna esteja preenchida, pois quero colocar uma soma de pontuação em uma das colunas como faço?
como faço também para que o formulário apague após ser enviado? como é uma planilha para uma gincana escolar, o mesmo nome pode ser escrito mais de uma vez, nao sendo necessário o script de buscar valores duplicados!
mt top, mta gratidão, e o campo de busca como junto as listas?
Muito bom o vídeo, estou fazendo uma atividade onde o usuário possa fazer cadastro de quantas formações quiser para uma pessoa, exemplo, cadastra a pessoa e uma formação dela, mas quando quiser pode ir cadastrar mais formações, tem alguma dica de como fazer essa parte?
Olá, obeigado pelo trabalho. Pergunta, teria como realizar o teste bde duplicata baseado em 2 fatores?
Como nome e CPF por exemplo.
Tem sim amigo, colocaria na condição do teste as duas validações. Aí só retornando verdadeiro se o nome e o CPF forem iguais
Muito obrigado por mais uma dica super útil. Gostaria muito de saber por favor se eu quiser usar o formulário em uma planilha diferente, ou seja, a aba de cadastro esteja numa outra planilha.
Estenio, antes de tudo obrigado! Sempre comentando aí! Cara, dá sim, da mesma forma que eu posso pegar uma aba ativa ou uma aba pelo nome, você pode pegar uma planilha pelo id
Acho que o método chama openById() da própria classe SpreadsheetApp
Posso trazer um vídeo sobre isso
@@WatanabePlanilhas valeu Daniel!
Cara, não sei o que acontece com o meu Google Sheets que não está funcionando a verificação de Duplicata, já revisei, já refiz e além de não mostrar a mensagem de "Funcionário não Cadastrado" ainda continua duplicando dados.
Ao tentar criar o alert dr teste de duplicata e dados obrigatórios, o sistema fica mandando o alert mesmo preenchendo todos os dados.
Muito bom! Valeu
Obrigado, por somar ao meu conhecimento... Pode me ajudar com a questão; No cadastro consigo fazer o cadastro com varias abas,,, ex; nos 12 meses ... respectivos... digito a dia e o mes e fica cadastrado no tal mes. Obrigado
Consegue sim, demanda um pouco de tratamento mas consegue, teria que a partir do registro, descobrir o mês do dado inserido.
Aí tendo todas as abas salvas em variáveis diferentes, é questão de definir pra cada mês inserido usar a aba correspondente
Parabens tutorial super bacana!!!! Saberia como fazer a checkbox retornar valor de sim ou não?
Tem como colocar a validação de dados da caixa de seleção para retornar valores personalizados, sim ou não ou qualquer outro, ativo ou inativo por exemplo
@@WatanabePlanilhas Me ajudaria com esse codigo?
Só chamar no e-mail do canal:
watanabe.planilhas@gmail.com
Ola, como eu faço para ter um range em celulas não sequenciais? Exemplo: C2, E2, C10, F10
Nesses casos geralmente pego separadamente mesmo, uma variável para cada célula
Parabéns!
Boa noite estou precisando de alguem para desenvolver uma planilha com cadastro de cleinte e controle de documentos vc faz ou poderia indicar alguem para desenvolver isso é simples não tem muito segredo!
Ali você determonou pelo GetLasRow, mas se eu quiser poe exemplo, que os valores sejam inseridos apartir de uma linha especifica, como faço?
Não estou conseguindo colocar a foto também igual vc fez no outro video" inserir foto na célula e planilha de Cadastro de cliente.
Eu consigo fazer numa planilha nova, mas se eu for adicionar na planilha de cadastro de cliente não funciona. (Aparece a msg: não está definido[ not is defined])
Bom dia, voce poderia fazer um tutorial de como criar uma pasta no google drive e depois sub pastas ?
obrigado
Daniel muito bons seus videos! Parabéns. Asssiti alguns deles e conecei a tentar reporduzi-los , mas tive um problema . Apareceu uma mensagem logo nas primeiras linhas...na sexta linha do script
"Detalhes da mensagem > Exception: Os parâmetros (String) não correspondem à assinatura de método para SpreadsheetApp.Sheet.getActiveRange.. "
quando fui fazer no meu note esta parte do seu video ( minuto 13). Vc saberia dizer o que eu preciso fazer conseguir acompanhar seu projeto? Abs
Opa amigo, perdão a demora, cara!
Eu ando meio na correria, conseguiu resolver?
Se não, na ultima parte dessa sequência eu deixei o link da planilha pra acessar, espero que ajude
@@WatanabePlanilhas Olá. Obrigado por retornar. Na verdade não. Fiquei curioso para saber o que aconteceu. Mas Peguei seu video n 3 e copiei o seu script e não consegui passar esta fase. mas aconteceu outro problema. Quando clico no botão Cadastrar ok . Mas nos botoes Excluir e no Buscar aparece TypeError: ScriptApp.getActive is not a function. No Botão Alterar , se os dados ficam em branco ele não altera mas também não dá mensagem
Confesso que a qualidade do videeo melhorou 100%
Professor. Muito brigado por compartilhar.
Mas gostaria de tirar uma dúvida. Teria como colocar fazer com que várias pessoas cadastrem ao mesmo tempo sem que haja perda de dados? Outra dúvida. Após criado um registro, teria como, depois de inserido o dado ( após o cadastro ) ele gerar um recibo de cadastro?
Por curiosidade o Google Seets. Possui a função.sendkeys? Que imita a função de uma tecla.
HELP!
Gostaria de saber se tem como o script n reconhecer uma linha com uma fórmula como uma linha com dados. Preciso inserir fórmulas. Usei a fórmula "=se" e mesmo ela ficando "vazia" ela conté dados que é a fórmula.
ajudou muito. Valeu
Olá boa tarde, eu gostaria de fazer o teste de duplicidade pelo CPF e não pelo nome como vc fez no vídeo me ajuda, já tentei alterar os dados mas não tá funcionando. Tentei fazer igual o seu por nome tbem não foi.
Daniel, por favor, olha os directs do insta! 🙏🙏
Olá, meu insta está em processo de recuperação. Não estou recebendo por lá, pode me chamar no email watanabe.planilhas@gmail.com
TOPPP, tem como verificar duplicatas, mas ao invés de verificar só o nome, verificar o nome e o CPF por ex?
alguém poderia me ajudar, quero que sempre quando eu insira um novo cadastro ele análise a primeira celula, que e o nome, e sempre que o nome for igual, colorir da mesma cor, por exemplo eu cadastro um funcionário chamado alex, e toda vez que eu registrar outro Alex o linha ficará com a mesma cor
TypeError: Cannot read properties of null (reading 'getLastRow') Como resolver esse erro?
Eu também tive este mesmo erro. Já fiz de tudo
Bom dia!
Teria algum modo para ao cadastrar um funcionário os dados serem registrado em uma nova planilha?ficar cada funcionário com dados separados em planilhas distintas?
Seria possível colocar sempre uma mensagem padrão, mudando apenas o nome que está na célula ''Paciente + nome do paciente + adicionado com sucesso!"?
Da sim, no texto do alerta só passar a variável : " texto" + variável + "texto"
@@WatanabePlanilhas Tentei de todo jeito, mas só dá erro. A última fiz assim e deu outra mensagem de erro:
// Informar que o paciente foi cadastrado com sucesso
SpreadsheetApp.getUi().alert('Paciente'+ var dados = ssCadastrar.getRange('c4').getValue + 'cadastrado com sucesso!');
Nesse caso tu passaria só a variável mesmo, se vc tem em algum lugar ela declarada tipo, lá em cima no código
var paciente = ss.getRange('C4').getValue()
Vc passa só paciente
'paciente' + paciente + 'cadastrado'
N precisa declarar dnovo
@@WatanabePlanilhas entendi. Acho que fiz o procedimento correto, registrei paciente como o valor variável da célula c4, mas ele diz "ss não é um valor"
Tentei apagar e deixar apenas o getRange, mas aí diz que getRange não foi definido.
No começo isso é complicado demais, mas tô começando a me situar melhor e pelo menos entender o porquê dos erros kk
Mano, como faço para ignorar espaços em branco? Fiz agora com espaço de uma linha e queria que ele não capturasse o vazio, apenas os dados, porque ele tá mandando uma célula vazia para a outra aba
Cara, tu pode validar via script linha a linha se tal coluna está em branco (uma que tenha que estar sempre preenchia) e aí só adicionar a um segundo array as que estiverem preenchidas.
Aí esse array vc salva na aba ou intervalo que preferir
@@WatanabePlanilhas ixxx achei complicado. Mas futuramente pretendo aprender. Eu fiz uma gambiarra, ocultei as colunas 😂😂
Ahahhaha faz parte, mas logo menos tem vídeo no canal sobre, tô pra trazer mais coisa de tratamento de dados
Ferramentas-Editor de Script não aparece no meu. Tem como resolver?
Fala Daniel Parabéns pelo vídeo muito bom mesmo, só me tira uma dúvida, minha tabela de dados tem colunas com fórmulas, e quando o script cria a nova linha essas colunas vem sem o cálculo, como faço para inserir uma nova linha mantendo as fórmulas?
Teria que escrever "pulando" essas colunas, dividindo a tarefa de escrever em partes pra não sobrescrever
@@WatanabePlanilhas o problema não é sub escrever, o problema que a tabela tem 10 linhas quando eu executo o script ela cria a 11, mas a coluna que tem fórmula e a área do filtro não preenche automático, e se eu deixar a tabela com muitas linhas em branco só com as colunas com fórmulas esperando gravar os dados via script o comando de localizar a última linha preenchida reconhece a fórmula e cria uma nova linha no fim da planilha assim mesmo…estava pensando em gravar uma macro inserindo uma linha no início da tabela e arrastar as células da linha de baixo para cima para manter as fórmulas e depois o script sobrescrever, daria certo?
Tem como fazer a "busca" da última linha por uma coluna específica, aí n usaria o getLastRow() e ele entenderia qual a linha que tem que escrever
@@WatanabePlanilhas Poderia nos passar como ficou a expressão? estou com esse mesmo problema
@@danielmorellato8244 Conseguiu resolver?
Muito topppo
Tentei fazer, mas a opção de criar script não aparece pra mim e quando tento acessar o Apps Script, aparece a página informando que não é possivel abrir o arquivo. 😕😕
Tenta abrir usando mesmo gmail no perfil do Chrome e na planilha
o meu google sheets nao aparece a opção editor de scripts, alguem sabe o que pode ser?
Infelizmente nunca tive esse problema. Você está usando pelo computador?
Provavelmente atualizou nos ultimos tempos, mas é só ir em "Extensões", do lado de ferramentas, e entrar em apps script (como você pode ver pelo canto superior esquerdo do video), eu acredito que é exatamente a mesma coisa.
Olá para selecionar as celulas que voce iria programar usou um range de 00:00 pois estavam todas na mesma coluna, como eu faço quando as caixas de texto estao em colunas e linhas diferentes ?
Teria que pegar separadamente, definir intervalos um a um, mas usando essa mesma função de getRange().gerValues()
E se as celulas que eu quiser copiar nao estiverem em sequencia em uma coluna, se forem células espalhadas?
Sugiro pegar essas referências e transformar em uma coluna única 😁
Bicho, seu vídeo está sendo uma mão na roda, mas eu alterei ele para um pequeno PDV para ajustar a vida financeira da minha empresa, já está rodando, mas na parte de teste de duplicata está dando erro, tipo eu estou sem dados na aba que deixei com lançamentos ao invés de banco de funcionários, e mesmo sem dados lá o script da que já está cadastrado, olhei o código diversas vezes comparei mas não encontrei o que pode ser! teria como ajudar!! E mais uma vez obrigado!!
Tenta escrever a primeira linha de dados na mão, talvez resolva, depois me conta se foi
FOIA apenas um erro na hora de registrar, tá normal, mas eu estou preso agora no botão buscar, não tô conseguindo fazer o script reconhecer os dados de busca sempre da "dados vazio
bom dia amigo teria como vc me enviar uma copia dessa planilha de cadastro de funcionários automatizado
Valeu!!!
Olá, qual linguagem é usada para essa programação?
Javascript amigo
No meu google planilhas não apareceu essa opção de editor de script.Onde acho?
Vai em extensões e depois Apps Script
Dá pra pegar o código pronto para ir modificando?
É possível mais de uma pessoa usar a planilha ao mesmo tempo para fazer o cadastro? Eu precisava de uma planilha que várias pessoas tivessem acesso para fazerem cadastros
Tem 2 maneiras de fazer isso:
Criar uma cópia da Aba (talvez tenha que realizar algumas alterações no código)
ou criar a mesma ideia num formulário WEB
Compartilhando o link da planilha online e permitindo que editem não funcionaria?
fiquei pensando se haveria alguém com o nome de Nome kkkk
Boa noite, fiz essa aula porém o meu script apresenta erro, não sei o que fazer : Erro: Exception: Os parâmetros (number[]) não correspondem à assinatura de método para SpreadsheetApp.Range.setValues
ola preciso muito fazer uma sinterações com varias pessoas em uma planilha d elista de nomes,
__ tem como eu criar uma pagina ou tabela onde só quem tem a senha pode editar.
__ os usuarios só podem acrescentar um nome
__ e cada vez que acrescenta esta informações fique salva no endereço drive deste usuario?
Bom vamos com a explicação. : __ gostaria que o usuario recebesse o link do projeto e nele tivesse uma lista com 9 nomes de emails um em baixo do outro sendo que os dois primeiros fosse oculto para ele assim visualizasse apena sos ultimos 7 a partir do terceiro. não precisa ser inumerado não.
na lateral tivesse um campo com as informação para digitar e salvar o email para um login
__Ao colocar o seu gmail no campo e salvar este nome sera inserido a lista alterando a seguinte forma, o novo indo ao inicio na parte oculta , e empurrando os proximos a um acasa a baixo fazendo o ultimo sumir.e ao salvar estas informações fosse salva no endereo do novo usuario em sua nuvem do drive.
a moral da histórias é que o usuario vai receber esta lista com 7 emails visivei interagir o meu projeto com estas pessoas e se este usuario convida routras pessoas ele devera cadastara seu gmail qque salavar a nova lista em sua conta . e um detalhe que esqueci este usuario recebesse o link desta nova pagina copiando o nome original ate a ultima barra trocando o que esta depois por um conjunto de letras aleatorio. ou o inicio do email dele. assim este pudesse com este link convidar novas pessoas , se ele convidar duas pessoa ses. cada um atera a mesma lista contenco o email deste usuario como primario mas oculto, e quando cada um fazer seu cadastro tera uma lista com o inicio diferente sendo cada um com seus email.
MUITO BOM SEU CONTEUDO. TE MANDEI UM E-MAIL. RESPONDE LÁ
1:04 obrigado AUTORIDADE SOCIAL recomendo! compro seguidores lá
Fala meu amigo olha eu mais uma vez, estou tentando mais uma vez, novamente com problema. Pois quando ele printa na tela ele só printa a primeira coluna da range.
Segue o codigo igual ao seu e nao vai! Ele só printa na tela o E4.
Se conseguir me ajudar! Vlw meu amigo!
function cadastroNovo() {
//Buscar Informações
var sscad = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CAD');
var dados = sscad.getRange('E4:E28').getValue();
SpreadsheetApp.getUi().alert(dados);
}
getValue retorna o valor da primeira célula do intervalo (E4 no caso), usa getValues
@@WatanabePlanilhas Funcionou!!! Que alegria muito obrigado Professor!!!
Tá dando erro de TypeError: Cannot read property 'getRange' of null e agora?