2023年3月29日水曜日

ChatGPTを使って定型作業で使うようなスクリプトを生成する

過去の記事でもいくつか紹介してきたような、定形的な作業で使うスクリプトをまた作ろうとしていました。

今までググりながら作ってましたが、ChatGPTだと簡単に生成できてびっくりです。


ここまではググって出てきたサンプロコードと同じなので、あまり変わりません。

大体困るのが、これを実際に使うケースで色々と試行錯誤するところ。

ただ、それすらChatGPTだとできちゃうんですね。

この例だと、スクリプトで利用する外部ライブラリは別途インストールが必要だったケースで、その処理すらスクリプトに追加してもらいました。


もう、こういうブログに作ったサンプルスクリプトも掲載する必要すらなくなりそうです。

2022年7月27日水曜日

家電製品の寿命が近くなったことに気づくために経過日数を自動計算する

最近、大物家電の買い替えが立て続けにありました。

そのとき気になったのは、あの家電は買ってから何年経ったのか。

家電の寿命はそれぞれ違うので、買い替え時期をさっと見れるようにしたいなと思い、購入日からの経過日数をかんたんに見れるようにしました。

それっぽい機能をiPhone標準アプリでできないか探したのですが見つからず、Googleスプレッドシートを使ってみることとしました。


準備

  1. スプレッドシートに対象の家電製品と購入日を書いていく。
  2. 経過年数と経過月数をDATEDIF関数で計算させる。
    DATEDIF関数の引数はこんな感じにしました。

  • 経過年数列 = DATEDIF([購入日を記載した列],today(),"Y")
  • 経過月数列 = DATEDIF([購入日を記載した列],today(),"YM")


完成イメージ

こんな感じになりました。(家電以外も書いちゃってます)


E列(old)は1世代前の家電購入日も書いておくと、だいたいどんなサイクルで購入しているか分かる感じにしました。

ちなみに、経過日数を自動的に計算されるために、スプレッドシートの自動更新も有効にしました。

こちらも、スプレッドシートの設定から行えます。(意外と見つけられなかったのでメモを残しておきます)




2022年3月21日月曜日

Macを手放すときに忘れてしまいそうな初期化について

先日、5年ぶりにiMacを買い替えました。(SSDになって起動時間が早くなって嬉しい!)


そこで、今まで使っていたiMacをどう処分するか。

まず、Appleの下取りプログラム(https://www.apple.com/jp/trade-in/)にお願いするのが正規のルートですが、古い機種ということもあり下取り価格は13,000円でした。

そんな中、メルカリで同じ機種の出品状況を調べるともうちょっと高い値段で売れそうだったため、今回はメルカリで売ることにしました。


出品にあたって必要な作業を整理しました。

基本的にはAppleのサイトに初期化までの手順が記載されているので、それに従い実施。

初期化するだけでOK。。と思っていたら思わぬところに落とし穴が。。。

それは、Bluetooth接続されるApple標準のマウス、キーボードについて。

昔のMacでセットアップした際、Bluetooth機器として登録名にMacで使用しているアカウント名が付与されているケースがあります。

どんな名前が付いているかは、Bluetoothの設定画面から確認できます。(例:↓の画像)

知り合いに渡すなら問題ないかもしれませんが、メルカリなどで他人にわたす場合は事前にこちらの名前も変更しておく必要がありますので、ご注意を!

名前の変更は、↑のBluetoothの設定画面で対象の機器を選択し右クリックし、[名前変更]を選択すると変更できます。

2022年2月10日木曜日

Nintendo Laboの入手方法(2022年2月)

「Nintendo Labo Toy-Con 03: Drive Kit」を結果的に安く入手できた話。

普通に購入しようと公式サイトであるNintendo Storeを見てても、ずっと品切れ状態。
(おそらくもう販売されない?)

Amazonで買おうとしても割高です。


なので、どうしたか。

1. Nintendo Storeでダンボールキットだけ購入
(以下のスクリーンショットを撮ったときは品切れでしたが、こっちは定期的に再入荷されていました)
→公式サイトのURLはこちら


2. 中古ショップでソフトだけ購入
(自分は近所のブックオフで300円で買えました)
→メルカリにも売っていました。URLはこちら



自分の場合、結果的に3,500円程度で入手できました。
結構前から欲しかったのになかなか入手できず、ようやく買えて満足!

2021年10月29日金曜日

いわゆる日報ファイルを自動生成するバッチファイル

定型的なOffice作業はどんどん自動化していきましょう。

今回作ったのは、いわゆる日報的なファイルの生成を自動化するスクリプト(バッチファイル)です。

こんなシーンを想定しています。

  • 同一フォルダ上に日次でファイルを作成する
  • 当日分のファイルは前日分のファイルをベースに更新する
  • ファイル名のプレフィックスに8桁数字(例:20211029)を付与する

ポイントは、前の日に作ったファイルをベースにするというところです。

コピー元のファイルを特定する方法としてファイル名で指定する方法もありますが、今回は更新日が最も新しいファイルを指定する方法としました。(for文とdirコマンドのオプションが勉強になりました)

targetdir変数で対象のフォルダパス、filepre変数でコピー先のファイル名を指定しております。また、copyコマンドでは拡張子を".txt"で特定しているため、任意の拡張子に変更してお使いください。

@echo off
rem 最新ファイルだけコピーする

set targetdir=hogehoge
set filepre=piyopiyo

set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set filetail=%yyyy%%mm%%dd%

set filename=""
for /F "tokens=1 delims=" %%a in ('dir /b /O:D "%targetdir%"') do set filename=%%a

copy %filename% "%targetdir%%filepre%_%filetail%.txt"

あとは、このバッチファイルをどこかに保存しておき、タスクスケジューラに登録しておけば、自動的に当日のファイルが作成されます。

面倒な日報ファイル作成の手間が少しでも楽になりますね。