Agenda a partir de uma planilhaDesenvolvimento e personalização

Um Google Apps Script que transforma as linhas da sua planilha do Google em eventos do Google Agenda e os mantém sincronizados

Normalmente fica pronto em 15 minutosAjustes incluídosControle de qualidade
Pacotes
Pagamento protegidoDetalhes
  • Os ajustes previstos no pacote são gratuitos.
  • Se você não responder em 3 dias após a entrega, o trabalho é aprovado automaticamente.

O dinheiro fica reservado no pagamento e só é liberado quando você aprova o trabalho.

Um Google Apps Script que transforma as linhas da sua planilha do Google em eventos do Google Agenda e os mantém sincronizados

Exemplo de resultado

Exemplo do pacote Padrão

Juntando os arquivos mensais de vendas de 9 lojas em um só relatório do Excel

Como ele é executado

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Pasta: sales/2026-10, 9 arquivos encontrados
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 linhas
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 linhas
2026-11-02 09:14:04 WARN  shop-07.csv: 3 linhas sem preço ignoradas (linhas 88, 412, 913)
2026-11-02 09:14:05 INFO  Pronto: 10.412 linhas -> report-2026-10.xlsx (abas "Vendas" e "Totais")

Configurações, não código

Os nomes das colunas de cada loja ficam no settings.ini, então uma loja nova ou uma coluna renomeada é só uma linha ali:

[columns]
date = Data, Data da venda, Dia
product = Produto, Item, Descrição
quantity = Qtd, Quantidade, Unid
price = Preço, Preço unitário

Um trecho do código

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Lê o arquivo de uma loja e dá a ele os nomes de colunas do relatório."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nenhuma coluna para '{name}' (procuradas: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Arquivos: um arquivo ZIP com merge_sales.py (310 linhas), settings.ini, requirements.txt e um README que explica como instalar o Python, como rodar o script e o que significa cada mensagem do registro. O cliente roda o script no próprio computador.

Cliente: uma pequena rede de 9 papelarias; cada loja envia as vendas do mês em um arquivo CSV ou Excel, com nomes de colunas um pouco diferentes. Tarefa: um script que lê todos os arquivos de uma pasta, deixa as colunas em um só formato e grava um único relatório do Excel com todas as vendas e uma aba de totais por loja.

O cliente e todos os dados são fictícios.

Sobre este serviço

Grades de aulas, escalas de turnos, horários de entrega ou a programação de um evento muitas vezes ficam em uma planilha do Google, e copiá-los um por um para o Google Agenda é lento e fácil de errar. Este Google Apps Script lê as suas linhas e cria um evento para cada uma na agenda que você escolher: título, início e fim, local e descrição a partir das suas colunas. Ele salva o ID do evento na linha, então, quando você muda um horário e roda de novo, o evento é movido em vez de duplicado. O Premium pode distribuir os eventos por várias agendas, como uma por professor ou sala. Os convidados só recebem convites se você ligar essa opção. Os eventos vão para a sua própria conta do Google, onde você instala e roda o script; ele não verifica conflitos nem marca nada para outras pessoas.

O que está incluído

  • O que você recebeUm arquivo ZIP com o código do Apps Script e um README que mostra como adicioná-lo à sua planilha, escolher a agenda e rodar; o código também aparece na página do pedido.
  • Suas colunasTítulo, data, início, fim, local e descrição
  • Sem duplicadosO ID do evento na linha a liga ao seu evento
  • Seu fuso horárioHorários lidos no fuso horário que você definir
  • Convites só se você quiserOs convidados só são convidados quando essa opção está ligada
  • Código legívelCom comentários, fácil de incluir uma coluna depois

Como funciona

  1. 1
    TarefaVocê envia as colunas da planilha e qual agenda usar
  2. 2
    CódigoEscrevemos o script e o guia de instalação
  3. 3
    TesteVocê roda em uma cópia da planilha com uma agenda de teste
  4. 4
    AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro

O que precisamos de você

Os nomes das colunas da sua planilha e algumas linhas (nomes inventados servem), como datas e horários estão escritos nela, o seu fuso horário e a agenda para onde os eventos devem ir (ou, para o Premium, a coluna que escolhe a agenda). O que deve acontecer quando uma linha muda ou é apagada, e se convidados de uma coluna devem receber convites. Mais ou menos quantas linhas, e com que frequência a planilha muda.

Vamos perguntar:

  • O que tem na planilha?
  • Para qual agenda os eventos devem ir?
  • O que deve acontecer quando as linhas mudarem?
  • Os convidados devem ser convidados?

Compare os pacotes

PacotesBásicoLinhas em eventosR$ 89PadrãoEventos com configuraçõesR$ 184PremiumFerramenta de agendaR$ 373
Prazo1 dia2 dias3 dias
Ajustes123
Códigoaté 150 linhasaté 400 linhasaté 1.000 linhas
Arquivos de código1até 3até 8
Arquivo de configuraçõesNãoSimSim
Mensagens de erro claras e um logNãoSimSim
Opções de execução e guia para rodar de forma agendadaNãoNãoSim
Guia de instalação e execução (README)SimSimSim
LinguagemGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Fazer pedido BásicoFazer pedido PadrãoFazer pedido Premium

Pagamento protegido

Você paga ao fazer o pedido, mas o dinheiro só é liberado pelo trabalho aprovado.

  • Preço fixoO preço do pacote não muda depois que você paga.
  • O dinheiro fica reservadoAo pagar, o valor fica apenas reservado. Ele só é repassado quando você aprova o trabalho.
  • Verificado antes da entregaCada resultado passa por um controle de qualidade antes de chegar até você, e você o vê na página do pedido antes de aprovar.
  • Ajustes gratuitosPeça ajustes dentro do seu briefing quantas vezes o pacote permitir.
  • Aprovação após 3 diasSe em 3 dias após a entrega você não aprovar o trabalho nem pedir ajustes, ele é aprovado automaticamente. Se você escrever no chat do pedido após a entrega, o pedido fica em espera; depois que respondermos, podemos reiniciar a contagem de 3 dias e avisaremos no chat.
  • Refazer ou reembolso totalSe o resultado não corresponder ao seu briefing e os ajustes não resolverem, ou se o trabalho levar mais que o dobro do prazo, escreva no chat do pedido: refazemos o trabalho ou reembolsamos o pagamento integralmente.
Como funciona →

Perguntas e respostas

E se eu mudar uma linha depois de o evento ser criado?

A partir do Padrão, o script encontra o evento pelo ID salvo na linha e o atualiza. No Básico, as linhas que já têm evento são ignoradas, então você mesmo muda o evento na agenda.

Ele vai apagar eventos?

Só no Premium e só pela regra que você passar, como remover o evento quando a linha for marcada como Cancelado. Eventos que ele não criou nunca são tocados.

Ele pode colocar eventos nas agendas dos meus colegas?

Em agendas que você pode editar, como as compartilhadas, sim. Caso contrário, você pode convidá-los a partir de uma coluna, se ligar os convites.

Vocês têm acesso à minha agenda?

Não. Você adiciona o script à sua própria planilha e autoriza o acesso você mesmo. Nunca entramos na sua conta do Google.

Não encontrou a resposta?

Pacotes