Claude 3.5 SonnetでGoogle Apps Scriptをカスタマイズ!~Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!~後編~ウェブアプリ化して公開するの続き

このトピックの一番最初の投稿はこちら

Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!

↑の続き、この記事の前篇の投稿はこちら↓

Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!~後編~ウェブアプリ化して公開する

前回、Google Apps Scriptで公開したウェブアプリ、スプレッドシートの商品データリストから、インクリメンタルサーチができるウェブアプリを公開し、より柔軟な検索ができるようにするところでChatGPTの無料枠を使い切ってしまいました。

その続きを、今度はClaude 3.5 Sonnetに頼って作業して、より柔軟な検索が実装できた話です。

最後までお読みいただけると嬉しいです。

続きを読む

Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!~後編~ウェブアプリ化して公開する

前回、Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!でChatGPTのおかげで短時間でそれっぽいスプレッドシートが完成させることができました。

さらに快適なインクリメンタルサーチ実装のために、このスプレッドシートをウェブアプリ化してみた話です。

作業手順も教えてくれる。スクリプトも書いてくれる。ChatGPT。

私のように、プログラミングを学んでみたものの、具体的な実装となると頭が真っ白になってしまうような人間には強い味方です。

ーーープログラミングなんて、基本だけ学んだって実際には役に立つレベルにはなかなかなれない、、、センスも若さも時間もお金も無い、、、今までの勉強は無意味だったのかも。。。なんて卑下していましたが、ChatGPTが提示してくれたコードはそのままだとうまく行かないことがあるので、それをイジるときに、この基本を学んだことが活きてくるのです!なんとなくココかも?でイケるんです!自分で試行錯誤したことが無駄ではなかったのだ!!と実感できます。

最後までお読みいただけると嬉しいです。

続きを読む

Googleスプレッドシートでインクリメンタルサーチを実装してみた~ChatGPTでサクッと解決!!

ChatGPTが提示してくれた。Googleスプレッドシートの関数。

=FILTER('商品マスタシート'!B2:B,
ISNUMBER(SEARCH($C$2, '商品マスタシート'!B2:B)) + ISNUMBER(SEARCH($C$2, '商品マスタシート'!C2:C)) + ISNUMBER(SEARCH($C$2, '商品マスタシート'!D2:D)) > 0,
ISNUMBER(SEARCH($C$3, '商品マスタシート'!B2:B)) + ISNUMBER(SEARCH($C$3, '商品マスタシート'!C2:C)) + ISNUMBER(SEARCH($C$3, '商品マスタシート'!D2:D)) > 0
)

Googleスプレッドシート Spreadsheet で、インクリメンタルサーチ(入力のたびに検索結果を表示させる)をできるようにしたいと思い、さっと検索したところ、すぐに情報が見つからなかったので、ChatGPTに聞いてみたら、簡単に実現してくれました。という話です。

続きを読む

効率アップ!ChatGPTでIllustratorのスクリプト作成に挑戦!〜レイヤーパレットで選択中のレイヤーをダイアログに入力した数字の数だけ複製するスクリプト〜

ChatGPTにIllustratorで使えるスクリプトを書いてもらうことができました。

// ダイアログを表示して入力値を取得する
var userInput = prompt("複製するレイヤーの数を半角英数で入力してください:", "");
var layerCount = parseInt(userInput);

// 選択したオブジェクトをコピーする
var doc = app.activeDocument;
var selection = doc.selection;

// 選択したオブジェクトが存在するか確認する
if (selection.length > 0) {
  var copyItem = selection[0].duplicate();
  var currentLayerName = getSelectedLayerName(); 

  // レイヤーを複製し、オブジェクトをペーストする
  for (var i = 0; i < layerCount; i++) {
    // 新しいレイヤーを作成する
    var newLayer = doc.layers.add();
    newLayer.name = currentLayerName + "-" + (i + 1);

    // オブジェクトを新しいレイヤーにペーストする
    doc.selection = null;
    app.activeDocument.activeLayer = newLayer;
    copyItem.duplicate(newLayer, ElementPlacement.PLACEATBEGINNING);
  }

  // 初期の選択状態に戻す
  doc.selection = null;
  selection[0].selected = true;
} else {
  alert("オブジェクトが選択されていません。");
}


// レイヤー名を取得する関数
function getSelectedLayerName() {
  var doc = app.activeDocument; // アクティブなドキュメントを取得
  var selection = doc.selection; // 選択されたオブジェクトを取得
  
  if (selection.length > 0) {
    var selectedLayer = selection[0].layer; // 最初の選択オブジェクトの所属レイヤーを取得
    return selectedLayer.name; // レイヤー名を返す
  } else {
    return "選択されたオブジェクトがありません。";
  }
}

実感としては、いきなり手数の多い処理を書いてもらおうとするとうまく動作しないことが多かったので、機能ごとにスクリプトを書いてもらって、それを自分で組み合わせる。というやり方が良いと思いました。

お時間有りましたら↓の続きを読むをクリックして全文を読んでいただけると嬉しいです。

続きを読む

ChatGPTでIllustratorのスクリプト作成に挑戦!〜選択したレイヤー以外を非表示にするスクリプト〜

↑の中央の矢印を左右にドラッグすると適用前後が表示されます。
// 選択したレイヤー以外を非表示にする関数
function hideOtherLayers() {
    var doc = app.activeDocument; // アクティブなドキュメントを取得
    var selectedLayer = doc.activeLayer; // アクティブなレイヤーを取得
  
    // レイヤーの数だけ繰り返し処理
    for (var i = 0; i < doc.layers.length; i++) {
      var currentLayer = doc.layers[i];
      
      // 選択したレイヤー以外を非表示にする
      if (currentLayer !== selectedLayer) {
        currentLayer.visible = false;
      }
    }
  }
  
  // 関数を実行
  hideOtherLayers();
  

お時間ある方は下記の続きを読むから一部始終を御覧ください。

続きを読む