見出し画像

LINEスタンプタグ編集用ブックマークレットをパワーアップしてくださった!

こんにちは、こちらの記事でお話したLINEスタンプのタグ編集効率化ブックマークレットについて続報です。

なんと!rorosukeさんが元のブックマークレットをさらにパワーアップし、40個一気にタグ付けできるようにしてくれました。(しかも私が記事をあげたその日のうちに!シゴデキがすぎる)
私がやりたくても出来なくて、PADで無理やり自動化したものだよ!ブックマークレットの方がはやくて簡単です、すごいよ!!
嬉しすぎてここ数日一人でお祭り騒ぎです。

まつりじゃまつりじゃ

引用間違いが怖いので、詳しいコードや手順はrorosukeさんの記事でご確認ください。

~~3/10追記~~
さらにさらに、スーパー改訂版まで公開してくれています!
すごすぎる・・・痒いところに手が届く、というか、痒いとすら気付いていなかった部分までカバーしているスーパー使い勝手の良いツールとなっています!
自分好みに使い方を選べるこちらがおすすめ↓↓↓

ポケモン進化でキャッキャうふふしてたところにメガシンカ初登場、くらいの衝撃でした。ありがとうございます~!!!
~~追記終わり~~

そして、新ブックマークレットに対応したGem用プロンプトを作りました。修正内容としては、「第一カラムにスタンプ番号(ファイル名)を入れる」「40個全部のタグをカンマ区切りで一回でコピーできる」の2点です。
ファイル名=スタンプ番号、となっていることが前提です。スタンプ登録時に作ったZipファイル内のpngファイルをそのまま使う、という想定です。(スマホ民…ごめんなさい)

そういえば!rorosukeさんはスマホから使えるブックマークレットも作ってくれたそうです。そうか、神なのか。

そしてどうにかスマホで出来ないかと色々工夫して成功しているかかのんさんの記事も読み応えあります。こういうリアルな試行錯誤のあれこれを発信して下さる方って素敵。

閑話休題、PCで使う前提のプロンプトは以下のとおりです。
※もしもAIが出力するタグが9個に満たないor架空のタグを選定することがある場合は、プロンプト内の指定個数を10個以上にしてください。10個以上で指定しても9個でタグ付けするようにブックマークレットの方で対応してくれています。

## システムの役割
あなたは、直近のメッセージで新たにアップロードされたLINEスタンプ画像を個別に分析し、指定された【タグリスト】の中から最も適切なタグを、各画像につき『正確に9個』選出する専門エージェントです。

## 絶対遵守ルール
-【重要】今回の送信で新たに添付された画像に加えて、過去のやり取りで添付された画像の処理内容も同時に出力すること
-ファイル名からは拡張子(.jpg, .png, .webpなど)を必ず取り除き、名前の部分(例:21, 22)のみを出力すること
-出力は【出力テンプレート】の形式のみで行うこと
-説明・挨拶・補足・前置きは一切禁止(出力テンプレート以外の文章は生成しない)
-出力は必ず「ファイル名の昇順(昇順ソート)」で行うこと
-タグは「半角カンマ」で区切ること
-各画像のタグ出力において、タグの途中で改行しないこと(必ず1行に収める)
-指定された【タグリスト】に存在しない単語は絶対に使用しないこと

## 出力テンプレート
以下のフォーマットに厳密に従い、対象ファイルごとに繰り返し出力してください。バッククォート3つ(```)は必ず独立した行に記述してください。

```text
ファイル名1(拡張子なし),タグ1,タグ2,タグ3,タグ4,タグ5,タグ6,タグ7,タグ8,タグ9
ファイル名2(拡張子なし),タグ1,タグ2,タグ3,タグ4,タグ5,タグ6,タグ7,タグ8,タグ9
ファイル名3(拡張子なし),タグ1,タグ2,タグ3,タグ4,タグ5,タグ6,タグ7,タグ8,タグ9

このプロンプトを前回の記事で書いた専用Gemの指示のところに入れます。そうすると、最初に10個画像をアップロード→10個のみのタグを出力→同じチャット内で次の10個をアップロード→最初の10個+新たな10個で計20個を出力→10個アップロードを4回繰り返すことで40個分を一気に出力、となります。
※本日時点でのGeminiへの同時アップロードの上限が10ファイルまでなので10個×4回の想定です。今後上限が緩和されればさらに簡単に。

1回目出力結果
2回目出力結果
40個すべての出力結果。右上のコピーボタンで一発コピーできます。

この出力結果をコピー→rorosukeさんの新ブックマークレットを起動→貼り付け、で一気にタグ付け完了です。感動!!

すでにタグ付けが終わっているスタンプから流用したい。

シリーズ物で、テキスト内容はそのままでキャラを変える場合など、AIを介さずに前作のタグをそのまま流用する場合のリスト作成方法です。
まず、画像のようにCreators Marketで設定済のタグを全部スタンプNO~画像部分~タグ付け部分までコピーします。

1~40の部分まで全部コピー

Excelの場合はそのまま貼り付けると体裁が崩れるので「値貼り付け」、スプレッドシートの場合は値貼り付けをすると逆に崩れるのでCtrl+Vでそのまま貼り付け。

上がExcel貼り付け後の状態、下がスプシ貼り付け後の状態。
画像のようになっていればOK。

あとは、マクロや数式でカンマ区切りにする&カラム1にスタンプNO入れる、で完成です。

VBAでの対応コードはこちら。私はこれ派です。ショートカットキーを設定しているので、貼り付け→Ctrl+Shift+Mを押して一発変換で終了。

Sub CleanSelectedRange()

    Dim cell As Range
    Dim j As Long, i As Long
    Dim txt As String
    
    i = 1
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    For Each cell In Selection
        
        If cell.Value <> "" Then
            
            txt = cell.Value
            
            ' ① 左13文字削除
            If Len(txt) > 13 Then
                txt = Mid(txt, 14)
            Else
                txt = ""
            End If
            
            ' ② (1)~(9) を , に置換
            For j = 1 To 9
                txt = Replace(txt, "(" & j & ")", ",")
            Next j
                        
            ' ③ 「編集」を削除
            txt = Replace(txt, "編集", "")
            
            ' ④ スタンプ番号を追加
            txt = Format(i, "00") & "," & txt
            i = i + 1
            
            ' ⑤ ラストがカンマの場合削除
            If Right(txt, 1) = "," Then
                txt = Left(txt, Len(txt) - 1)
            End If
            
            cell.Value = txt
            
        End If
        
    Next cell

End Sub

VBAとかよくわからんよ、の方用の数式の場合はこちら。A1セルから貼り付けたことを前提にしているので、必要に応じて修正してください。
Office2021以降しか使えないLET関数使ってます。それ以前の方はごめんなさい。ネストしまくればいけるんだろうけれど、ややこしいのでスプシがおすすめです。(もっと短く済む綺麗な数式あるのかなぁ。知ってる方いたら教えてください)

=LET(
lastRow,COUNTA(A:A),
rng,A1:INDEX(A:A,lastRow),
txt,MID(rng,14,LEN(rng)),
txt_2,SUBSTITUTE(txt,"(1)",","),
txt_3,SUBSTITUTE(txt_2,"(2)",","),
txt_4,SUBSTITUTE(txt_3,"(3)",","),
txt_5,SUBSTITUTE(txt_4,"(4)",","),
txt_6,SUBSTITUTE(txt_5,"(5)",","),
txt_7,SUBSTITUTE(txt_6,"(6)",","),
txt_8,SUBSTITUTE(txt_7,"(7)",","),
txt_9,SUBSTITUTE(txt_8,"(8)",","),
txt_10,SUBSTITUTE(txt_9,"(9)",","),
cleaned,SUBSTITUTE(txt_10,"編集",""),
IF(RIGHT(cleaned,1)=",",TEXT(ROW(rng),"00")&","&LEFT(cleaned,LEN(cleaned)-1),TEXT(ROW(rng),"00")&","&cleaned)
)

MS製品買っとらんよ、そもそも最初からスプレッドシート派だわ、の方用の数式はこちら。こちらもA1セルに貼り付けたこと前提です。

=ARRAYFORMULA(IF(A1:A="","",TEXT(ROW(A1:A),"00")&","&
REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(
MID(A1:A,3,LEN(A1:A)),"\([1-9]\)",","),"編集",""),
",$","")))

以下の画像のようになるので、あとは全行をコピーすればrorosukeさんのブックマークレットにそのままペーストできます。

スプシの場合。Excelも同じように作成されます。

一回作っておけばExcelまたはスプシで管理できるので、今後もとっても楽です。→このデータ取っておけば伸びたスタンプがあったらタグ付けの内容も分析に使えそうですね。いいぞ。

タグ付けという、どこまで効果があるのかわからないのにやたらとすり減らされるルーティン業務から解放されました。みなさんのお役に立ったら嬉しいです。

それでは、最後までお読みいただきありがとうございました。