ChatGPTのWebページに表示されている、チャット内容をテキストファイルに保存する。ブックマークレットを作成します。
テキストファイルとして保存しますが、見やすいようにマークダウンで修飾します。
Webページの仕様が公開されているわけではないので、部分的に作りながら確認していきます。
コードは最終的にはブックマークレットに変換しますが、開発中は開発者ツールにコードを張り付けて動作を確認します。
# 画像の上か下にテキストを追加し、リサイズして保存するプログラム | |
# 動作確認環境 Windows 11 Personal 日本語版 | |
# Python 3.10.6 64bit | |
# このプログラムは ChatGPT 4 を使って作成したプログラムに | |
# 岡田洋が多少の改変を加えたものです。 | |
import tkinter as tk | |
from tkinter import filedialog, colorchooser | |
from PIL import Image, ImageTk, ImageDraw, ImageFont |
/** @OnlyCurrentDoc */ | |
/** | |
* APIキーをユーザープロパティに設定します。 | |
* 安全性のため、APIキーがすでに存在する場合は上書きしません。 | |
*/ | |
function setAPIKey() { | |
const ui = SpreadsheetApp.getUi(); | |
const existingKey = PropertiesService.getUserProperties().getProperty('OpenAI-APIKEY'); | |
if (existingKey) { |
window.addEventListener("load", () => | |
(async () => { | |
const interval = 800 | |
const duration = 10 * 60 * 1000 | |
const option = { credentials: 'include' } | |
const response = await fetch(location.href, option) | |
if (!response.ok) { | |
return | |
} | |
const orgText = await response.text() |
{ | |
"04430": { | |
"edinetCode": "E34663", | |
"secCode": "04430", | |
"name": "東海ソフト株式会社", | |
"ruby": "", | |
"englishName": "" | |
}, | |
"13010": { | |
"edinetCode": "E00012", |
'use strict'; | |
// ファイルを開いた時に実行 | |
function onOpen() { | |
setupMenu(); | |
} | |
// メニューを登録 | |
function setupMenu(ss) { | |
var ui = SpreadsheetApp.getUi(); |
#!/bin/bash | |
set -eux | |
# get dependencies and devDependencies from package.json | |
dependencies="$(jq -r '.dependencies | keys[]' package.json)" | |
devDependencies="$(jq -r '.devDependencies | keys[]' package.json)" | |
# remove dependencies and devDependencies from package.json | |
jq '.dependencies = {} | .devDependencies = {}' package.json | sponge package.json |
// INotifyPropertyChanged のコードスニペットを生成する。 Google App Script (スプレッドシート用) | |
function onOpen() { | |
var spreadsheet = SpreadsheetApp.getActive(); | |
var menuItems = [ | |
{name: 'INotifyPropertyChangedスニペット', functionName: 'snipetINotifyPropertyChanged'} | |
]; | |
spreadsheet.addMenu('スニペット作成', menuItems); | |
} |