Skip to content

Instantly share code, notes, and snippets.

View ErickPetru's full-sized avatar
🎯
Focusing

Erick Eduardo Petrucelli ErickPetru

🎯
Focusing
View GitHub Profile
@ErickPetru
ErickPetru / changelog-creator.js
Last active March 3, 2023 20:44
Creates Changelog Messages by Scrapping GitHub Projects View
// Run using browser console after opening the page:
// https://github.com/orgs/fridayfinance/projects/6/views/9
console.log(
[
...document
.querySelector('[data-test-id="table-scroll-container"')
.querySelectorAll('div[data-test-id$="column: Title}"] a'),
]
.sort((a, b) =>
@ErickPetru
ErickPetru / tailwind-colors-as-css-variables.js
Last active March 16, 2023 22:28
Extract CSS custom properties (CSS variables) from Tailwind Color Palette by Web scrapping its documentation
/* Extract CSS custom properties (CSS variables) from Tailwind Color Palette
* Navigate to: https://tailwindcss.com/docs/customizing-colors
* Then open browser's console and run the following code
*/
const palette = [
...document
.querySelector("#content-wrapper > .grid.grid-cols-1")
.querySelectorAll(".flex.flex-col.space-y-3"),
]
@ErickPetru
ErickPetru / Exercícios para Revisão - Item 4.EXCEL.yaml
Created November 27, 2021 19:49
Um suplemento com botão que deve percorrer valores em uma lista de nomes de pessoas previamente preenchidos pelo usuário na coluna A, na folha de trabalho ativa da planilha Excel aberta, considerando-se que a quantidade de linhas com nomes preenchidos é incerta. Por fim, deve-se exibir na coluna B os nomes ordenados alfabeticamente, independente…
name: Exercícios para Revisão - Item 4
description: >-
Um suplemento com botão que deve percorrer valores em uma lista de nomes de
pessoas previamente preenchidos pelo usuário na coluna A, na folha de trabalho
ativa da planilha Excel aberta, considerando-se que a quantidade de linhas com
nomes preenchidos é incerta. Por fim, deve-se exibir na coluna B os nomes
ordenados alfabeticamente, independentemente da ordem em que foram informados
na coluna A.
host: EXCEL
api_set: {}
@ErickPetru
ErickPetru / Exercícios para Revisão - Item 3.EXCEL.yaml
Created November 27, 2021 19:46
Um suplemento com botão que deve percorrer valores em uma lista de nomes de pessoas previamente preenchidos pelo usuário na coluna A, na folha de trabalho ativa da planilha Excel aberta, considerando-se que a quantidade de linhas com nomes preenchidos é incerta. Por fim, deve-se exibir na coluna B os nomes na ordem inversa ao qual foram digitados.
name: Exercícios para Revisão - Item 3
description: >-
Um suplemento com botão que deve percorrer valores em uma lista de nomes de
pessoas previamente preenchidos pelo usuário na coluna A, na folha de trabalho
ativa da planilha Excel aberta, considerando-se que a quantidade de linhas com
nomes preenchidos é incerta. Por fim, deve-se exibir na coluna B os nomes na
ordem inversa ao qual foram digitados.
host: EXCEL
api_set: {}
script:
@ErickPetru
ErickPetru / Exercícios para Revisão - Item 2.EXCEL.yaml
Created November 27, 2021 19:36
Um suplemento com um botão que deve percorrer os valores de uma lista de números inteiros previamente preenchidos pelo usuário na coluna A, na folha de trabalho ativa da planilha Excel aberta, considerando-se que a quantidade de linhas com números preenchidos é incerta. Para cada número preenchido, deve-se calcular o quadrado do número e a raiz …
name: Exercícios para Revisão - Item 2
description: >-
Um suplemento com um botão que deve percorrer os valores de uma lista de
números inteiros previamente preenchidos pelo usuário na coluna A, na folha de
trabalho ativa da planilha Excel aberta, considerando-se que a quantidade de
linhas com números preenchidos é incerta. Para cada número preenchido, deve-se
calcular o quadrado do número e a raiz quadrada do número, exibindo o primeiro
resultado na coluna B ao lado do número, e o segundo resultado na coluna C ao
lado do número.
host: EXCEL
@ErickPetru
ErickPetru / Exercícios para Revisão - Item 1.EXCEL.yaml
Last active November 27, 2021 19:37
Um suplemento com cinco caixas de texto numéricas e um botão. Após obter os números inteiros digitados, verificar qual dos cinco números é o maior e qual é o menor, então exibir tais resultados como resposta nas células A1 e B1, respectivamente, na folha de trabalho ativa da planilha Excel aberta.
name: Exercícios para Revisão - Item 1
description: >-
Um suplemento com cinco caixas de texto numéricas e um botão. Após obter os
números inteiros digitados, verificar qual dos cinco números é o maior e qual
é o menor, então exibir tais resultados como resposta nas células A1 e B1,
respectivamente, na folha de trabalho ativa da planilha Excel aberta.
host: EXCEL
api_set: {}
script:
content: |
name: Lista de Exercícios 3 - Item 2
description: ''
host: EXCEL
api_set: {}
script:
content: "const button = document.getElementById(\"button\") as HTMLButtonElement;\r\n\r\nbutton.addEventListener(\"click\", () => {\r\n Excel.run(async (context) => {\r\n // Obtém a planilha ativa.\r\n const sheet = context.workbook.worksheets.getActiveWorksheet();\r\n\r\n // Renomeia a planilha ativa.\r\n sheet.name = \"Notas dos Alunos\";\r\n\r\n // Limpa qualquer formatação pré-existente na planilha.\r\n sheet.getUsedRange().clear(\"Formats\");\r\n\r\n // Tenta obter uma tabela já existente na planilha.\r\n let table = sheet.tables.getItemOrNullObject(\"NotasAlunos\");\r\n table.load(\"isNullObject\"); // Informa a propriedade que precisa carregar...\r\n await context.sync(); // Aguarda carregar o valor da propriedade em memória.\r\n\r\n // Aí pode usar a propriedade para ver se não tem a tabela criada...\r\n if (table.isNullObject) {\r\n // Neste caso, cria uma nova tabela Exce
name: Lista de Exercícios 3 - Item 1
description: ''
host: EXCEL
api_set: {}
script:
content: "const field1 = document.getElementById(\"field1\") as HTMLInputElement;\r\nconst field2 = document.getElementById(\"field2\") as HTMLInputElement;\r\nconst field3 = document.getElementById(\"field3\") as HTMLInputElement;\r\nconst button = document.getElementById(\"button\") as HTMLButtonElement;\r\n\r\nbutton.addEventListener(\"click\", () => {\r\n Excel.run(async (context) => {\r\n // Obtém a planilha ativa.\r\n const sheet = context.workbook.worksheets.getActiveWorksheet();\r\n\r\n // Renomeia a planilha ativa.\r\n sheet.name = \"Notas dos Alunos\";\r\n\r\n // Obtém as quatro primeiras colunas da primeira linha da planilha.\r\n const rangeHeader = sheet.getRange(\"A1:D1\");\r\n\r\n // Espera carregar os valores existentes neste intervalo.\r\n rangeHeader.load(\"values\"); // Informa a propriedade que precisa carregar...\r\n await context.sync(); // Aguarda carregar o valor da proprie
name: Lista de Exercícios 2 - Item 3
description: ''
host: EXCEL
api_set: {}
script:
content: "const show = document.getElementById(\"show\") as HTMLButtonElement;\r\n\r\nshow.addEventListener(\"click\", () => {\r\n Excel.run(async (context) => {\r\n const sheet = context.workbook.worksheets.getActiveWorksheet();\r\n sheet.getUsedRange().clear();\r\n\r\n const response = await fetch(\"https://swapi.dev/api/planets\");\r\n const json = await response.json();\r\n const planets = json.results;\r\n console.log(planets);\r\n\r\n sheet.getRange(\"A1:C1\").values = [[\"Nome\", \"Clima\", \"População\"]];\r\n sheet.getRange(\"A1:C1\").format.font.bold = true;\r\n\r\n let row = 2;\r\n for (let planet of planets) {\r\n sheet.getRange(`A${row}:C${row}`).values = [[planet.name, planet.climate, planet.population]];\r\n row++;\r\n }\r\n\r\n sheet.getUsedRange().format.horizontalAlignment = \"Left\";\r\n sheet.getUsedRange().format.autofitColumns();\r\n });\r\n});\r\n"
name: Lista de Exercícios 2 - Item 2
description: ''
host: EXCEL
api_set: {}
script:
content: "const field = document.getElementById(\"field\") as HTMLInputElement;\r\nconst button = document.getElementById(\"button\") as HTMLButtonElement;\r\n\r\nbutton.addEventListener(\"click\", () => {\r\n Excel.run(async (context) => {\r\n context.workbook.getSelectedRange().format.fill.color = field.value;\r\n });\r\n});\r\n"
language: typescript
template:
content: "<input id=\"field\" type=\"color\">\r\n<button id=\"button\">Colorir Células Selecionadas</button>"
language: html