絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

268 件中 1 - 60 件表示
カバー画像

【GAS】オブジェクトの宣言タイミングについて

■はじめに 今回はSpreadsheetAppや、CalendarAppなどのオブジェクト宣言タイミングについて説明していきます。■GASのオブジェクトを宣言すると重くなりやすい GASのオブジェクトは、宣言する度に結構時間がかかります。 無料GmailのGASにはプログラムの稼働時間に6分という制約があるので、いかにプログラムの稼働時間を短くするか?ってのがキモになってきます。■グローバル変数、グローバル定数でオブジェクト宣言をしてしまう プログラムやってるとあんまり推奨されないやり方なのかもですが、 GASの場合は可能な限りGASオブジェクトの宣言を減らす必要があります。 また、「SpreadsheetApp」や「CalendarApp」などは1回呼び出しておけ ば事足りる上に変動することはないので、グローバル定数宣言してしまう と安定しやすいです。■サービスのご紹介 こういった点を意識しながらGASの開発しております。 GASでの業務改善のご要望ございましたら、 お気軽にご相談いただけると幸いです(´ω`*)
0
カバー画像

【GAS】Discordへ通知するBOTを作る為の準備

■はじめに前回は大したこと書いてなかったので、今回は少し前に書いた、Discord通知用BOTを作る為の準備と関数を書いていきたいと思います(*'ω'*)■Discordの通知用BOTを作るまずは、Discord側で通知用のBOTを作る必要があるので、BOTを作りたいサーバーで右クリックをします。(赤枠部分参照)そうすると、右クリックメニューが出るので、「サーバー設定」、「連携サービス」の順番で選択していきます。選択すると、画面が切り替わるので、「ウェブフックを作成」をクリックします。まだBOTを一つも作ったことが無い場合は、ウェブフックがありませんと出るので、「ウェブフックを作成」を選択しましょう。BOTが出来上がりました!アイコン、名前は好みで変更してみて下さい(*'ω'*)ウェブフックURLをコピーという機能がありますが、これ後でGAS側のプログラムで必要になるので、クリックして控えておくか、必要な時にクリックしてコピーするようにしましょう。以上が事前準備になります(*'ω'*)そんなに難しくはないので、もし興味があったらチョロっと作ってみて下さいね(∩´∀`)∩次回はGAS側の応答プログラムについて解説していきます。■次回はこちら
0
カバー画像

商品名と商品IDを取得してスプレッドシートに表示させてみる#01 (ShopifyAPI+GoogleAppsScript)

こんにちは。Shopify専門エンジニアのまりんです。今回はテーマのカスタマイズではなく、Shopify APIとGoogleスプレッドシートを紐づけようと思います。まず手始めに商品IDと商品名をボタンをクリックしたらスプレッドシートに反映できるようにしてみました。✔️事前準備 API発行アクセストークンをまだ発行していない場合は下記の手順で作成しておいてくださいね。①アプリ>アプリと販売チャンネルの設定>ストア用カスタムアプリ②アプリを作成アプリ名はなんでもOKです。③アクセススコープの設定使用する項目にチェック入れてください。(例)商品名&商品IDを取得する場合:商品管理:read_productsのみに✔️④アプリをインストールAPI資格情報のタブをクリック。Admin APIのアクセストークンが発行されるのでコピーします。一度しか表示できないので忘れないようにどこかに保管しておいてくださいね。その下のAPIキーもあとで使用するので一緒にコピーしておきます。また、設定タブに記載されているバージョンも後ほど使用するので控えておきます。API アクセストークン:shpat_xxxxxxxxAPIキー:8gw2xxxxxxxxxxバージョン:xxxx-xxこれで事前準備は完了です。✔️GASとShopifyを紐づけるStep1 スプレッドシートを作成新規スプレッドシートを作成して「Master」というシートを追加する。一応わかりやすいように1行目に見出し入れておきます。A1・・・商品IDB2・・・商品名Step2 スプレッドシート>App Scriptを開くStep3 
0
カバー画像

伝書鳩オンライン

 よく考えてみますと、いままで携わってきた通信は、ローカルや専用線での直接通信(もしくは隠蔽されて気にならない)が主でした。 一般的なパソコン環境やスマートフォンなどでインターネットを利用して端末間の通信を実現しようとするとなかなか面倒なようです。 実験的に無償で利用できそうなものを3点試してみました。データー送受信、文字チャットのような例です。1.WebRTC NTT comの旧SkyWayを試してみました。サンプルもサクッと動作し反応性も抜群です。おそらくP2Pできるのは限られた環境で、中継サーバーを使用することになるのだと思います。SDK依存になるので障害時は自分だけで解析が難しいかもしれません。2.Google GAS GASを中継サーバーにしてWebサービス公開で試してみました。一次記憶はなんでもいいのですが、スプレッドを使用しました。GETでID別のシートにデーターをセルに積んだり崩したりする感じです。これをXMLHttpRequestで送受します。 GASは一回のトランザクションが数秒かかるので反応性はチョット緩慢ですね。Googleアカウントで気軽に試すことができるは便利です。3.レンタルWebサーバー レンタルWebサーバーを中継サーバーにしてみました。SSLに対応してPythonやPHPのCGIが使えることから、XREAというのを試してみました。 基本はGASと同じですが、反応性は申し分ないです。一時記憶はファイルにしました。 無償では広告を埋め込む必要があり、実際のデーターよりこの部分の容量が大きくなりそうです。 XMLHttpRequestで広告のHTM
0
カバー画像

GASツール制作例:画像からOCR使ってスプレッドシートに入力

こんにちは、ペンスケです。今日ご紹介するGASプチは、GASで画像から文字を判別するOCR→文字変換スクリプトです。今回作ったツールは、名刺をOCRで文字化して1セルに名刺の文字データを押し込んでいくという代物です。GoogleドライブにはOCR(画像から文字を判別する機能)をするための機能がデフォルトでついています。画像からドキュメントファイルを生成することが自動でできるのですが、これがそれなりに精度が良い。なので、この画像認識の機能をGASから使いにいって、ファイルごとに整理できたら。なんかに使えるかもしれない。というふわっとした動機で作成しました。なんのこっちゃと思われる方もおられると思うので、わかりやすくします。つまり↓これを↓こう処理の元になった画像の画質が低すぎたため、文字化けしております。GASに詳しい方むけの説明。→Google Apps Scriptを使って一時ファイルを生成し、その中のテキストデータをセルに押し込んでいます。→GAS OCRで検索するとサンプルコードがたくさん落ちてます。参考サイトをご紹介しようと思ったのですが、ココナラの仕様で外部サイトの貼り付けができないので、ご自身で調べてみてください。結構わかりやすいコードが3~4個おちてます♡さて、このOCRのGASプチツール。出力結果の全体像はこちら。(印刷会社さんの名刺サンプル画像をテストデータとして利用したため、会社名などの情報は伏せさせていただいてます)文字の識別精度はまあまあ悪くないレベル。日本語が稀に文字化けしてしまいますが、アルファベットに至ってはほぼ問題なく識別ができています。手書き文
0
カバー画像

GASで複数のクラウドサービス間データ連携を自動化する

こんにちは、GASおじさんだよ!今日は、中小企業の経営者やフリーランスの諸君に朗報だ。おじさんの知る限り、多くの企業がクラウドサービスを使って業務を行っているが、それぞれのサービスが個別に存在するため、情報の連携に時間がかかるという声もよく耳にする。そこで今回は、Google Apps Script(GAS)を使って複数のクラウドサービス間データ連携を自動化する方法を紹介するぜ。■ クラウドサービスのデータ連携を自動化するメリット各種SaaSのAPIを駆使すれば、データの自動連携はさほど難しくない。まずは手動での作業時間を削減でき、時間当たりの人件費も浮かせることが可能だ。おじさんが以前にコンサルティングした中小企業では、1週間あたり10時間ものデータ移行作業が削減でき、年間で約50万円のコスト削減につながったんだ。■ GASによる基本的なAPI連携例えば、GoogleスプレッドシートへSalesforceからデータを取得し、自動的に更新するコードを見ていこう。SalesforceのAPIトークンを取得しているものとして進める。このスクリプトを定期実行することで、Salesforceから最新の顧客情報をスプレッドシートに自動で同期できるようになるよ。GASのトリガー機能を使えば、例えば毎日決まった時間に実行することも可能だ。■ コストと時間の削減この自動化により、手動で行っていたデータエントリーの時間を劇的に削減できる。仮に1時間当たりの人件費が3000円だとすると、年間で約120時間、すなわち36万円分の作業が削減される計算だ。非常に大きな効果が見込めるだろ?■ 自動化できる
0
カバー画像

サイト公開日に修正依頼が殺到する理由——Claudeと事前に決めておきたい5つのこと

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「公開したばかりなのに、もう直してほしいところが出てきた…」ホームページやLPを公開した当日、こんな経験をされたことはありませんか?実はこれ、制作側からすると"あるある"なんです。先日、ある企業サイトの公開をお手伝いしたとき、公開当日だけで12件の修正依頼が入りました。「誤字がある」「料金が違っていた」「スマホで見ると文章が変なところで切れている」——どれも些細に見えて、放置できないものばかり。今回は、なぜ公開日に修正が集中するのか、そしてどうすれば事前に防げるのかを、実際の経験をもとにお伝えします。---## なぜ公開当日に「直してほしい」が連発するのか私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。これは制作側の能力不足というより、構造的な問題です。テスト段階では「まあいいか」と思っていたことが、本番のURLで見た瞬間、「お客さまにこれを見せるのか」というリアリティが湧いてくる。オーナーさんや決裁者の方が最終確認するのも、どうしても公開直前になりがちです。中小企業・個人事業主でいえば、内装工事が終わって照明を全部つけた瞬間に「この壁の色、思っていたのと違う」と気づくようなもの。図面ではわからなかったことが、実物になって初めて見えてくるんですよね。-
0
カバー画像

【GAS】スプレッドシートの情報をYahooショッピングAPIを使って商品登録する方法

実現できることYahooショッピングへの商品登録をスプレッドシートへ追記するだけで完結しますYahooショッピングの商品登録APIを使ってスプレッドシートにある”update”ボタンをクリックすると、そのタイミングで瞬時に登録できるようになっています。スクリプトを回すトリガーはそれぞれ設定可能です。裏側の登録をするスクリプトを回すと瞬時にYahooショッピングの商品ページに追加されます。なぜ作ろうと思ったかYahooショッピングへの商品登録の際にいくつか運用対処が必要(JANの文字設定など)で煩わしいな思っていたのと、楽天市場には商品登録したけどあれ?「Yahooショッピングに登録したっけ?」などと管理上の煩雑さを感じていたので YahooショッピングのAPIを調べたところ、簡単に実装できそうだったので「GAS(Google App Scriptを使って書いてみました)」是非、そういった課題をお持ちの方を本記事を参考に構築いただければと思います。YahooショッピングAPI利用にあたってご準備するもの①Google スプレッドシート(フリーアカウントでも可)②YahooショッピングのクライアントID・クライアントシークレット①Googleスプレッドシート側の準備Apps Scriptの画面へスプレッドシート及びGoogle Apps Script側の準備を記載していきます。「App scriptってなに?」という方へ端的にお伝えするとApps Script(スクリプト・コード)を書いてスプレッドシートを操作できるようにするものです。今回はApps Scriptを使ってスプレッド
0
カバー画像

【GAS】カレンダーコントロールの基礎

■はじめに 今回はGASのカレンダーコントロールを使って、特定の日付の予定を取得する処理を説明していきたいと思います。■まずはソースからfunction cBasicControl(){  const cCalendar = CalendarApp.getCalendarById('カレンダーID');  const dDate = new Date('2023/08/9');  const cEventList = cCalendar.getEventsForDay(dDate);  for(let i in cEventList){    Logger.log(cEventList[i].getTitle());  };};厳密には汎用性を上げる為に、私はもうちょっと違う書き方してるんですが、基本的なコードは上記の様になります。■カレンダーオブジェクトの宣言以下のコードで、何処のカレンダーを使用しますよと宣言しています。const cCalendar = CalendarApp.getCalendarById('カレンダーID');カレンダーIDの部分には、使用するカレンダーIDを入力しましょう。※カレンダーIDの取得方法は次回にでもご案内しますね。 これで、カレンダーオブジェクトが利用可能になりました。■指定した日付のイベント一覧を取得する次に指定したカレンダーの特定の日付のイベント一覧を取得します。  const dDate = new Date('2023/08/9');  const cEventList = cCalendar.getEventsForDay(dD
0
カバー画像

[Google Apps Script]GAS初回実行時の認証のやり方

Google Apps Script(GAS)で書いたコードを実行するためには、初回のみアカウントの認証が必要となります。この記事では認証に必要な手順を解説します。手順1:【権限を確認】初めてのGAS(function)を実行しようとすると認証が必要な場合、このアラートが表示されます。そこで、権限を確認をクリックして先に進んでください。手順2:【アカウントの選択】ご使用のアカウントを選択してください。選択したアカウントで権限を許可します。手順3:【詳細】詳細を選択すると左下に「[関数名](安全ではないページ)に移動」が表示されます。手順4:【安全ではないページに移動】安全なページに戻りたくなりますが、ここで戻ってしまうと認証は出来ません。安全ではないページに移動を選択してください。手順5:【許可】「[関数名]がGoogleアカウントへのアクセスをリクエストしています」と表示されるので内容を確認して、許可を選択すると認証は完了です。【備考】手順1〜4で認証は完了ですが、スプレッドシート、フォーム、カレンダー、Gmail 等GASを利用するサービスが追加された場合は、その都度認証が必要となりますので、同じ手順で認証を行ってください。面倒な手作業の自動化・効率化をご検討中の方は下記ココナラのリンクよりお気軽にお問い合わせください。手作業での記録、PDF化、メール送信等はGoogleの公式サービスを使用する事で簡単に自動化・効率化することが出来ます。
0
カバー画像

GAS × LINEの予約システムを高速化できた話

こんにちは。Web制作会社でエンジニアをしている古賀です。今回は、GAS(Google Apps Script)とGoogleスプレッドシートで作ったLINE予約システムが「動作が重い」という課題を、コストをかけずに改善できた話を書きます。同じような構成で開発している方の参考になれば嬉しいです。抱えていた課題LINEの予約システムを、GAS + Googleスプレッドシートという構成で作っていました。・サーバー費用がかからない・スプレッドシートがそのままデータベースになる・導入のハードルが低く、小規模なサロンやクリニックにも提案しやすいというメリットがある一方で、利用が進むにつれて「予約画面や管理画面の表示が重い」という問題が出てきました。原因を探ると、画面を開くたびにスプレッドシートへ問い合わせて重い処理をその場で実行していたことが、待ち時間の大きな原因になっていました。「無料で」がこだわりポイントだった有料のサーバーやDBサービスに切り替えれば速くなるのは分かっていたのですが、今回はあくまで無料の範囲で改善したいという条件がありました。GAS自体は無料で使えるので、構成を変えずに処理の仕方を見直す方向で解決策を考えました。やったこと対応の中心は、次の2つです。1. GASをWebアプリとしてデプロイし、発行されたURLをHTMLに埋め込むGASのスクリプトをWebアプリとして公開すると、専用のデプロイURLが発行されます。このURLをHTML側からfetchなどで呼び出す形にしました。2. 重い処理を行う関数をクラウド側(デプロイしたGAS)に切り出すこれまで画面表示と同時
0
カバー画像

テンプレートを「設計図」にして、Claude活用で最短オリジナルホームページを作る方法

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「おしゃれなデザインのサイトを見つけたけど、そのまま使うと他と被りそう…」「かといって、ゼロからデザインを依頼すると費用が心配…」中小企業・個人事業主や店舗のオーナー様から、こんなご相談をよくいただきます。実は、プロの制作現場では「良いデザインを参考にしながら、あなたの店舗に合わせてオリジナルに仕上げる」という方法が使われています。今回、私自身のサイトで実践した制作の裏側をお伝えします。---## 「参考にする」と「丸パクリ」は違う私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。インテリアショップの内装を参考にして自分の店を作るのと同じで、Webサイトも「この配置いいな」「この見せ方素敵だな」という要素を分解して、自分のビジネスに合わせて再構成することができます。今回私が参考にしたのは、海外のテンプレートサイトにあったマーケティング会社向けのデザインでした。**参考にしたポイント:**- 写真を四角ではなく、有機的な形でトリミングする見せ方- スクロールすると文章がふわっと浮かび上がる演出- 実績の数字が「0」から目標値まで動くアニメーションこれらの「仕組み」を理解したうえで、私のサービス内容や写真に置き換えて作り直しました。結果として、参考元とはまっ
0
カバー画像

QRコードを個別に生成するケース

GASのウェブアプリでも外部のJavaScriptのライブラリを使うことができます。今回はQRコードを個別に生成するケースでJavaScriptライブラリqrcode.min.jsを使った場合のGASでの処理例です。基本的にはJavaScriptライブラリを読み込んだhtmlファイルをGASのdoGet関数で表示させます。//GAS function doGet() {   return HtmlService.createTemplateFromFile("index")   .evaluate()   .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)   .addMetaTag('viewport', 'width=device-width, initial-scale=1'); }html(index)ファイルのhead内でJavaScriptライブラリを読み込みます。ダウンロードしたライブラリを使う場合の例1.ソースをまるごとコピーしてhtmlファイルとして保存しておきます。2.index.htmlのheadタグ間でライブラリのファイルを読み込みます。<script><?!= HtmlService.createHtmlOutputFromFile('qrcodeminjs').getContent(); ?></script>CDNが使える場合の例直接読み込むので上記のようなライブラリファイルの作成は必要ありません。  <script src="http
0
カバー画像

GASって結局JavaScriptなの?

Google Apps Script、通称GASについての話題は、Webを使う多くの人にとってちょっとした関心事かもしれません。特に、「GASって結局JavaScriptなの?」という疑問を持つ方も少なくないでしょう。そこで、この記事ではGASとJavaScriptの関係を、専門用語を控えめにして、できるだけわかりやすく解説してみます。GAS(Google Apps Script)とはGASとは、Googleが提供するプログラミング言語のことで、Googleの様々なWebサービス(Googleドキュメントやスプレッドシート、フォームなど)を自動化したり、カスタマイズするために使われます。たとえば、スプレッドシートに情報を自動で整理したり、フォームの回答に基づいてメールを自動送信するといった作業をプログラムで行えるようにするのがGASの役割です。GASとJavaScriptの共通点GASは、その根底にJavaScriptを持っています。ですから、もしあなたがJavaScriptに少しでも触れたことがあるなら、GASを学ぶのは意外とスムーズかもしれません。変数の使い方、ループ(繰り返し処理)、条件分岐といった基本的なプログラミングのコンセプトが、GASでも全く同じように使われます。GASとJavaScriptの違いしかし、GASがJavaScriptと完全に一緒かというと、そうではありません。GASはGoogleのWebサービスと密接に結びついており、そのための特別な機能やコマンドが用意されています。この点が、通常のWebページ作成などに使われるJavaScriptとは異なる大きな
0
カバー画像

【GAS】スプレッドシート直下にフォルダを生成する

■はじめにここ数日、フォルダ生成の記事にアクセスが多かった様なので、フォルダ生成系の記事をちょっと追加で書いてみようと思います。■スプレッドシートの情報を取得するまずは、使っているスプレッドシートがGoogleDrive内のどこに存在するか確認する必要がありますので、自分自身のファイル情報を取得します。const book = SpreadsheetApp.getActiveSpreadsheet();const bookID = book.getId();const file = DriveApp.getFileById(bookID);■取得したファイル情報の親フォルダのIDを取得するgetParentsメソッドを使う事で、親フォルダの取得ができます。複数ファイル等がある場合はhasnext()とnext()を組み合わせるんですが、親フォルダは1つしかないので、next()だけで取得します。const dir = file.getParents().next();const dirID = dir.getId();■親フォルダの直下に新規にフォルダを作成する以下の処理を行う事で、取得したフォルダ直下に新しいフォルダを作成します。const drive = DriveApp.getFolderById(dirID);drive.createFolder('フォルダ名');厳密にやるのであれば、フォルダ作成前に、フォルダの重複チェック等も処理に入れると良いでしょう(´ω`*)■最後に今回のような仕組を使ったツールの作成もできますので、 お困りの事ございましたら、お気軽にご相談く
0
カバー画像

GASのエディタが使いやすくなっている

こんばんは、とーますです。みなさんGASは使ってますか?GASはGoogle Apps ScriptというGoogle上で使えるjava scriptのようなものなのですが、最近久しぶりに書いたらエディタが結構進化してました。公式ドキュメントを特に見ずに書きます。これまでもあったと思うが私が個人的にうれしかったものを書きます。うろ覚えですが少し適当に書きます。・同一の変数名が分かりやすくドラックされる・呼ばれていない変数は少し薄く表示される・Functionに飛ぶことができる・インデントがきれいになる・インデントで処理のスコープが分かりやすく縦位置補助される・最近の見た目はだいぶきれいに洗練されてきている・etcもっとかけると思ったら以外にかけなかったですね。Debugもどんどん見やすくなっていてブレークポイント適当に選んでおいて走らせて使ってもよし、途中のデータも見やすいしObjectのネストしたデータの中身も見やすいのでよし。わざわざPCにソフト入れてコード書いてデプロイしてとかDebugしてとかそういったことをせずWebブラウザですべて完結できるのでかなり使いやすいと思ってます。最近ではクライアント系のエディタも進化していると思うので多種多様の開発環境があるのかと思いますが、私としては弘法筆を選ばずという言葉がある通りどんなものでも能力がはっきできるほうがよいと思うんですよね。昔はデータセンターによく行くこともありましたが、サーバールームに持ち込める物は、脳(記憶)のみでした。なので脳にどれだけため込んでおくかが重要でした。 SQLステートメントが書けないとか、Linux
0
カバー画像

【Gmail】受信したメールに「ラベル」を付けて整理する

【ご依頼者向け】Gmailのフィルター機能で、受信したメールに自動で「ラベル」を付けられます。対象のメールは検索条件で指定できます。Gmailには「フォルダ」の概念がありません。 代わりに、受信したメールに「ラベル」を付けて整理することができます。 1つのメールには複数の「ラベル」を付けて分類することも可能です。フィルター機能で、受信したメールに自動で「ラベル」を付ける(1)Gmailを開き、検索窓の右側にある検索オプションを表示する(2)キーワード、送信元メールアドレス等で検索条件を指定して、「フィルタを作成」をクリックする(3)[ラベルを付ける]をチェック、新しいラベルを作成するラベル名を入力して、「作成」をクリックする「フィルタを作成」をクリックする。完了です![設定]→[フィルタとブロック中のアドレス]で、作成したフィルタの確認、再編集ができます。 また、ラベルは色を変更できます。
0
カバー画像

GASでマイマップを作る

こちらは先週あげた最新の動画です。GASを使うとGoogleマップからルートの検索ができて、画像も作れます。出張先の居酒屋マップを作って、そこにいくために頑張る!って業務の効率化とは言えないですかね😆なにか地図に関係した自動化をご希望でしたら、ぜひご相談ください。
0
カバー画像

スプレッドシート等GAS案件について

先日、スプレッドシートの作成についての御相談を受けました。前に利用規約を確認した時に「あれ?スプレッドシートとかのGAS系ってなんか書いてあったような…」と思って改めて確認しました。そうすると以下のような記載がありました。「データのやりとりのためにGoogle Drive[Googleドキュメント/Gooleスプレッドシート/Googleフォームを含む]やOneDriveなどのクラウドストレージサービスを利用する行為」の禁止そして他の人の出品を見るとスプレッドシートに関わる出品が出ててきたりしたので「これはどういうことだろう?」と思って運営に確認のメールを入れてみました。そうすると以下の依頼については許容するということでした。① Googleドライブ内の自動連携ツール② 外部WebAPIとの通信システム③ Googleスプレッドシートを用いないと完了しない役務提供①と②に関してはスプレッドシートを使わないと色々と成立しない部分がありますが、③は結構曖昧な形の回答でした。基本的にスプレッドシートを含むGASは禁止という前提で、その中でもどうしてもGASを使用しないといけないものは禁止ということで、もしそういうのがあったら運営に確認しないとダメな状態みたいです。今回ご相談いただいた内容が表データをスプレッドシートでの作成の相談だったので、運営からの回答だとどうしてもというものに該当しないということですので、Excelで作成してデータを提供し、それをスプレッドシートで開いてもらわないといけないという形でした。Excelで作ってスプレッドシートで確認して…ということで何とか成り立つのは
0
カバー画像

GASとSlack連携でリマインダーbotを作る方法:忘れ物をなくす

こんにちは、GASおじさんだよ。今日は、GASとSlackを使ってリマインダーbotを作るお話をしよう。中小企業の経営者やフリーランスの方々にとっては、日々のタスク管理は重要だよね。でも、専用のリマインダーサービスって結構高い。だから、GASとSlackで自家製のリマインダーbotを作っちゃおう。これで月々1,000円以上のコストを節約できるかもよ!■ GASとSlackでリマインダーbotを作る手順□ ステップ1: Slack APIの設定まず、SlackのAPI設定を行う必要がある。Slack APIのページにアクセスして、新しいアプリを作成しよう。OAuthスコープには、「channels:read」と「chat:write」を設定しておくといいよ。これで、必要な情報にアクセスし、メッセージを送信できるようになるからね。□ ステップ2: GASスクリプトの作成次に、Google Apps Scriptでスクリプトを作成しよう。このスクリプトがリマインダーbotの心臓部だよ。以下にサンプルコードを示すから、参考にしてね。このコードは、指定されたSlackのチャンネルにリマインダーを送信するためのものだよ。実際の業務に合わせて、メッセージをカスタマイズしておこう。□ ステップ3: トリガーの設定最後に、GASのトリガー機能を使って、このスクリプトを毎日一定時間に実行するように設定する。GASのエディタで「時計」アイコンをクリックして、トリガーを追加しよう。実行するスクリプトはsendReminderにして、好みの時間に設定するんだ。■ 経済効果さて、経営者の皆さんが一番気にな
0
カバー画像

検索で上位表示されているのにクリックされない…その原因、意外なところにありました

「ブログ記事が検索で上の方に出ているのに、なぜかお問い合わせにつながらない」先日ご相談いただいた店舗オーナーさんから、まさにこんなお悩みをいただきました。調べてみると、たしかに検索結果の1ページ目に表示されている記事がいくつもある。でも、表示された回数に対して、実際にクリックされている割合がとても低かったんです。---## 検索順位が高い=読まれている、とは限らないこれは店舗ブログでよくあるパターンなのですが、「順位が高いから大丈夫」と思い込んでしまい、**実際にクリックされているかどうか**を確認していないケースが意外と多いんです。今回のケースでは、まずデータを正しく取得できる状態に戻すところからスタートしました。計測の仕組みが古い設定のまま止まっていたので、そこを直さないと何が問題なのかもわからない状態だったんですね。美容室でいうと、予約台帳を見ずにメニューの改善を議論しているようなもの。まずは現状を正しく把握することが、すべての出発点です。---## 36記事の「紹介文」を見直しただけで変わったことデータを見られるようになって浮かび上がったのが、**検索結果に表示される紹介文が空っぽ、または記事の内容とズレている**という問題でした。検索結果でタイトルの下に表示される短い説明文。これがきちんと書かれていないと、見た人は「この記事に自分の知りたいことがあるかどうか」を判断できません。今回は36記事すべてについて、「この記事を検索する人は、何を解決したくて検索しているのか?」という視点で説明文を書き直しました。たとえば「美容室 開業 届出」で検索する人は、届出の一覧が知りたい
0
カバー画像

「ビルドは成功したのにサイトが真っ白…」Claude Codeが設定ファイルの1行を即発見

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---先日、あるサンプルサイトを公開しようとしたとき、不思議な現象に遭遇しました。制作ツール上では「ビルド成功」と表示されている。エラーも出ていない。なのに、実際のURLにアクセスすると**画面が真っ白**。「壊れた?」と一瞬焦りましたが、原因を調べてみると、設定ファイルのたった1行が抜けていただけでした。今回は、この経験をもとに「完成したはずのサイトが表示されないときの確認ポイント」と、店舗サイトやLPを安く・速く・安全に公開するためのヒントをお伝えします。---## 「作り置き型」のサイトが中小企業・個人事業のビジネスに向いている理由私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。まず、今回制作したサイトは「静的サイト」と呼ばれるタイプです。飲食店で例えるなら、**注文が入ってから調理するのではなく、あらかじめ作り置きした惣菜を並べておく**ようなイメージ。お客さまがページを開くたびにサーバーが処理をするのではなく、完成済みのページをそのまま表示するので、表示がとても速いのが特徴です。この方式が中小企業・個人事業主や中小企業・個人事業主のサイトに向いている理由は3つあります。- **表示が速い**:スマホでもサクサク開くので、予約ページへの離脱が減ります
0
カバー画像

「アクセスはあるのに問い合わせゼロ」Claude活用で気づいた記事の出口不足という盲点

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---ブログを書いて、検索でも上位に表示されている。それなのに予約や問い合わせが増えない——そんなお悩みはありませんか?先日、あるメディアサイトの運用データを詳しく分析したところ、驚くべき事実が見つかりました。**月に200回以上読まれている記事が、収益にまったくつながっていなかった**のです。しかも、そういった記事が19本もありました。原因はとてもシンプルでした。記事を読み終わった人が「次に何をすればいいか」分からない状態だったのです。---## 「読まれて終わり」になっていませんか?私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。中小企業・個人事業主や中小企業・個人事業主のブログでよく見かけるのが、こんなパターンです。- ヘアケアのコツを丁寧に解説している- 検索でも上位に表示されている- でも、記事の最後に予約ボタンがないこれでは、せっかく「このサロン良さそう」と思ってくれた読者も、そのままページを閉じて終わりです。WEBの世界では、この「次にやってほしいこと」への案内を**CTA(行動を促すボタンやリンク)**と呼びます。予約ページへのリンク、電話番号、LINE登録ボタンなど、形はさまざまです。今回分析したサイトでは、検索順位1位の記事にすらこのCT
0
カバー画像

AdSense収益通知を自動化!欲しいデータだけを選んで毎日確認できる方法

ブロガー便利ツールのご紹介毎日AdSenseの収益を確認するのに時間を割くのは大変ですよね。特に、業務が忙しいときや、複数のウェブサイトを管理している場合、ログインして確認するだけでも手間がかかります。そんな悩みを解決してくれるのが、Google Apps Script(GAS)を使ったAdSense収益の自動通知機能です。GASを使えば、毎日の収益状況を自動でメールで報告してもらうことができます。この記事では、そのメリットと実際にどう活用できるのかを紹介します。スクリプト構成の流れGoogle Apps Scriptを使って、AdSenseの収益状況を毎日メールで通知する仕組みは、以下のように構成されています。初期設定スクリプトの最初に、Google AdSense APIと連携するためのパブリッシャーIDや、収益データの出力先(スプレッドシートやメール)を設定します。この部分で、メール通知の設定も含めることができます。収益データの取得GASを使ってAdSense APIから収益データを取得します。ここでは、昨日の収益や直近のトレンドデータを自動で引き出し、特定の項目(推定収益、クリック数、インプレッションなど)を取得します。データの整理取得した収益データはスプレッドシートに自動で保存され、既存データと重複しないように管理されます。これにより、データの整合性を保ちながら最新の情報だけが表示されるようにします。メール通知機能ここが今回の目玉機能です。収益データを取得した後、毎日自動的にメールで通知することが可能です。たとえば、朝8時に「昨日のAdSense収益は〇〇円でした」と
0
カバー画像

Google Apps Scriptで花火大会のマイマップを作成する方法

はじめに皆さん、こんにちは。今年の夏もいよいよ花火大会の季節がやってきました。今回は、Google Apps Script(GAS)を使って、花火大会のオリジナルマイマップを作成する方法をご紹介します。この記事を読むことで、花火大会の情報をポリゴンで示したカスタムマップを簡単に作成できるようになります。Google Apps Scriptとは?Google Apps Scriptは、Googleのサービス(Gmail、スプレッドシート、Googleドライブなど)をプログラムで操作できるスクリプト言語です。特に、地図作成やデータ管理など、さまざまな業務を効率化するのに非常に便利です。花火大会のマイマップ作成のメリット視覚的にわかりやすい:花火大会の場所や範囲を地図上で視覚的に示せるため、わかりやすくなります。カスタマイズ可能:自分の好みに合わせてマップをカスタマイズできます。共有が簡単:作成したマップを簡単に他の人と共有できます。スクリプトの構成手順花火大会のマイマップを作成するためのスクリプトを、以下の手順で構成します。ステップ1:スクリプトエディタの起動Googleスプレッドシートを開きます。メニューから「拡張機能」→「Apps Script」を選択します。ステップ2:スクリプトの作成スクリプトエディタが開いたら、新しいプロジェクトを作成し、スクリプトを書くことができます。以下は、スプレッドシートに記載された花火大会のデータを使用して、マイマップにポリゴンを追加する方法の概要です。データの取得:スプレッドシートから花火大会のデータ(名前、場所、範囲など)を取得します。KML形
0
カバー画像

Tasker、Google Apps Script、Switchbotロックで実現する手ぶらで自宅のカギを開けるスマートな仕組み

スマホアプリのTaskerとGoogle Apps Script、そしてSwitchbotロックを利用して、外出先から帰ってきたときに手ぶらで自宅のカギを開ける仕組みを試してみました。この仕組みを使うと、自宅に帰る際に鍵を取り出して開錠する手間が省け、便利さを実感できます。 Taskerは、スマホ上の状態や時刻などのイベントをトリガーにして、様々なアクションを実行するアプリです。Switchbotロックは、スマートロックの製品で、自宅のカギを遠隔から操作したり、指紋認証で開錠したり、様々な利用方法で制御可能な製品です。手ぶら開錠の仕組みまず、処理の流れは非常にシンプルです。スマホが自宅のWifiに接続したとき、それがトリガーとなりHTTPリクエストがGoogle Apps Scriptに送信されます。Google Apps Scriptは受け付けたリクエストをもとに、SwitchbotのAPIにHTTPリクエストを送信し、Switchbotのロックが開錠される仕組みです。 ただし、Switchbotのスマートロックを制御するには、事前にトークンを発行し、いくつかの準備を整える必要があります。これにより、Google Apps ScriptからSwitchbotを操作できるようになります。実装結果Wifi接続を検知してから若干のタイムラグが発生することはありますが、全体としては良好に機能しています。スマホを再起動した場合でも、今回の処理が動作しますが、在宅時に開錠されることに関しては特に問題ありません。Wifiの接続が切れた場合、施錠するといった使い方もできますが、施錠が確実に実
0
カバー画像

【GAS】セル範囲の保護と、解除について

■はじめに久しぶりの投稿はセル範囲の保護と、解除についてです。セル範囲の保護はちょいちょいネット上でも記事書いてあったんですが、セル範囲の解除についてはほとんど記事がなかったので、備忘録も兼ねて書いてみる事にしました。■セル範囲の保護セル範囲の保護をする場合は、割と情報でてるので書くの恐縮なんですが、以下の様なソースで対応可能です。const book = SpreadsheetApp.getActiveSpreadsheet();const sheet = book.getActivesheet();const protect = sheet.getRange(row,col,row2,col2).protect();//オーナーは必ず権限を持つので注意protect.addEditor(email);     //単一ユーザー登録時protect.addEditors(emailarry);   //複数ユーザー登録時、配列を渡すprotect.setDomainEdit(true);   //GWでドメインユーザーを許可する場合■セル範囲の保護の解除セルを解除する場合には以下の様なソースを使います。const book = SpreadsheetApp.getActiveSpreadsheet();const sheet = book.getActiveSheet();const pType = SpreadsheetApp.ProtectionType;const protect = sheet.getProtections(pType.RANGE);for(let i
0
カバー画像

【GAS】Discordへ通知する為の関数

■はじめに前回はDiscord通知BOTを作る為の事前準備を実施しました(*'ω'*)今回は、実際にBot通知する為の関数について説明していきたいと思います。■ソースコードまずはソースを見てみましょう(´ω`*)function subDiscordBotPost(strWebhock_URL, strUserName, strContent) {  const payload = {    username : strUserName,    content : strContent  };  UrlFetchApp.fetch(strWebhock_URL, {    method: "post",    contentType: "application/json",    payload: JSON.stringify(payload)  });}実はもうこれこのままコピペすれば、ほぼそのまま利用できますw■関数の簡単な説明まずは引数について。strWebhock_URL>前回のDiscord側でコピーしておいた、>WebhockURLを渡します。strUserName>BOTのDiscordに通知されるユーザー名です。>好きなキャラとかにすると、なかなかエモくなります(´ω`*)strContent>発言内容です。>事前にSpreadsheetや、Googleカレンダー、Gmail等から>条件に合う内容をメッセージ整形しておいて、値を引き渡します。■実際に発送してみるとこんな感じDiscordでプロジェクトとか、サークル利用している方は、こんな機能を追加できると、スケ
0
カバー画像

新しいサービスを出品しました!Googleユーザーは必見です!

僕はこれまでMicrosoft傘下の大手IT企業で勤めており、その後ベンチャー系インフルエンサー会社の経営企画室として社長に引き抜かれて勤務をしていました。このホワイト→ブラックに移った大きい落差・環境の中でベンチャーならではのむちゃぶり対応や、サービス内容変更の調整など怒涛の毎日をサバイブできた理由の1つに、「ITによる自動化」がありました。・時間管理・メールチェック:送信・資料作成・顧客管理など、ありとあらゆる場面で、プログラミングやITのスキルが活用することができました。そして周りを見渡せば、そのスキルを持っているのはこのベンチャー企業では僕だけだったと言うことに気が付きました。そこで、職場のいろんな人にワークフローの自動化や効率化のツールの使い方等を教えていく中で、「自分はこれが向いている」と感じたり、その教えたことで役に立っている人を見るのが好きになっていきました。もっと誰かの役に立ちたいと思い、今回、サービスとして出品してみることにしました。Googleのサービス間であれば、GoogleAppScriptは超優秀に働きます。例えば、Gmailから届いたお問い合わせ内容をもとに、スプレッドシートにクライアント情報入力し、営業担当のGoogleカレンダーにクライアントデータシートを連携します。同時に、クライアントデータをスプレッドシートのテンプレート或いはテンプレドキュメントみたいなものがあれば参照し、新規作成の上データを反映、Googleドライブ内の営業担当のフォルダの中にクライアント名ファイルとして格納することなども可能で、実際に作成していました。こういった作業は意
0
カバー画像

相談を受けて開発したツイッターbotについてご紹介

以前、GASでツイッターbotの作成が可能かという相談を直接受けまして対応した際に作成したクラス図の紹介となります。私の対応のスタンスとしては、その場限りではなく、「長く使ってもらいたい」、「利用していくうちに新しいアイディアが湧いてくる」、「利用中に見えてきた改善点」などに対して、ある程度柔軟に対応できるよう、メンテナンス性を意識してほぼ必ずクラス設計を行います(完璧ではないですが、メモ書き程度に)。今回の場合は以下のような感じで検討いたしました。これからツイッターbotを作ろうとう考えている出品者の方の参考に少しでもなれば幸いです。スプレッドシートはこんな感じになっております。合わせて見ればどこでどんなことをやっているか何となく分かるかなとは思っております。ここまで記事を読んでくださり、ありがとうございました。質問・相談はいつでも受付ておりますので、気軽にお声掛けください。
0
カバー画像

安価で自動化プログラムを依頼する方法

こんにちは。ココナラで自動化プログラムの作成・販売を行っているPman00(ピーマン)です。▼プロフィールはこちらhttps://coconala.com/users/977677スプレットシートやExcel操作の自動化をココナラで依頼したい。けど…・自動化は高額なイメージがして、なかなか踏み出せない。・相談したけど予算より高額になって断念した。と言う方へ「安価で自動化プログラムを依頼する方法」を伝授します。その前に、1問だけ問題です。Q:プログラム作成の過程で最も作業工数がかかる工程はどこでしょう?次の3つから1つを選択してください。 A:プログラミング工程(コードを打ち込む工程) B:テスト工程(成果物の動作確認の工程) C:仕様検討工程(ツールの動作を決める工程)ほとんどのお客様が勘違いされているのですが、一番“カンタン”な工程は「A:プログラミング工程」なんです。そして、最も工数がかかる工程は「C:仕様検討工程」です。本題:安く自動化プログラムを作ってもらう依頼方法さて、本題に入っていきます。我々プログラマーに作業を依頼する際は「何をどうして欲しいのか具体的に説明する」事で、代金を安くする事が可能です。次のような依頼をしてください。お客様:以下のスプレットシートからGoogleカレンダーに情報を登録して頂きたいです。▼スプレットシートURLhttp://xxxxxxカレンダーの登録情報は以下を希望します。・カレンダー登録日:A列の日付・カレンダータイトル:B列+C列の内容・カレンダーの内容:D列〜F列の内容こちらでご検討可能でしょうか?プログラマ:内容を確認させて頂きま
0
カバー画像

GASでスプレッドシートを指定のフォルダに新規作成する

お久しぶりのブログです。体調崩したり大き目案件頂いててんやわんやでした。さて、今回はGASを使ったスプレッドシートの新規作成について書いてみます。GASでスプレッドシートを単純に新規作成する場合、以下の様に記述します。SpreadsheetApp.create(`テストシート`);ただ、この方法だと、GoogleDriveのRootフォルダであるマイドライブ直下に作成されてしまいます。特定のフォルダにファイルを新規作成したい場合、createメソッドだけでは実現できないので、以下の様な手順を通ります。1)スプレッドシートを新規作成2)新規作成したシートのIDを取得3)フォルダの場所を取得 4)取得したシートIDを指定したフォルダへ移動するGASの場合、スプレッドシートの新規作成と、シートIDの取得は同時に行う必要があるので、以下の様に記述します。const bookId = SpreadsheetApp.create(`テストシート`).getId();次に個別に保存先のフォルダを取得しますconst dir = DriveApp.getFolderById(`フォルダID`);最後に移動処理を行います。DriveApp.getFileById(bookId).moveTo(dir);これをひとまとめにして記述すると次の様になりますconst bookId = SpreadsheetApp.create(`テストシート`).getId(); const dir = DriveApp.getFolderById(`フォルダID`);DriveApp.getFileById(boo
0
カバー画像

Google Apps Script の承認について

拡張機能付き Google スプレッドシートを使用する際に最初の1回だけ承認作業を行う必要があります。以下の手順に従って、承認をしてください。手順1.メニュー「拡張機能」から「承認(初回のみ)」をクリックしてください。手順2.「承認が必要」というポップアップが表示されます。「続行」をクリックしてください。手順3.「アカウントの選択」画面が表示されます。使用するアカウントを選択してください。手順4.(無料の Google アカウントのみ)「このアプリは Google で確認されていません」という画面が表示されます。⚠ マークが表示されているのでビックリするかもしれませんが、「Google が作った拡張機能ではないですよ」意味で表示されています。左下に小さく表示されている「詳細」をクリックしてください。詳細が表示されます。スクロールして一番下に表示されている「(安全ではないページ)に移動」をクリックしてください。「安全ではないページ」と書かれているのは、「Google 自身が作ったものではないので保証しませんよ」という意味です。手順5.「Google アカウントへのアクセスをリクエストしています」という画面が表示されます。一番下までスクロールして「許可」を押してください。以上で承認が完了となりました!
0
カバー画像

スクリプト実行時の「承認」でびっくり!

確かに、わたしも、GASを初めたとき、びっくりしました。「なんじゃ、こりゃ?、こわー」みたいなよくよく考えると、わかるんですが、あまり見かけない忠告表示を、いきなり初っ端に浴びせかけられたら、誰でも驚きますよね!?Googleは、そのびっくりさせることも狙いらしいですよ。要は、本人が気づきもしないで、勝手に変なアプリケーションをインストールさせない為のものなんですよね。なかなか、強力な表現力だよなではでは、そのよくよくを考えてみるとですね・・・フリーソフト(個人で作ったカスタマイズプログラム)とかを、MacやWindows本体へダウンロードし、実行した際は、警告でるじゃないですか?「既知されていないプログラムであり、個人情報等だけでなく、本体PCに悪影響を及ぼす可能性がありますが、それでもインストールされますか?」的な内容あれと、文言は違えど、言いたい内容は、ほとんど一緒ですよね。ただ、あのGASの警告マーク、めっちゃ大きいから、余計恐怖あおりますよね。Dangerマーク!!!!!きちんと、デベロッパー(プログラム開発者)を知っていて、依頼作成したツールなら、安心して使ってもらいたいんですがね。お客様に納品し、後からこの「承認」について、大丈夫ですよって、説明しても、後付みたいになって信頼されないんじゃないかと思い、ここに事前に記載残しておこうと思います。 正直ワタシ的には、ローカルフォルダ(PC本体)に、わけのわからないカスタマイズプログラムをインストールする方が、怖いと思うんですよね。PC本体やられると、クラウドツールどころの騒ぎではなくなるんでね。 クラウドがセキュリティ
0
カバー画像

GASのエラーハンドリング:try-catchでスクリプトを堅牢にする

■ GASのエラーハンドリングが必要な理由お疲れさんだ、おじさんだよ。Google Apps Script(以下GAS)を使うと業務がぐっと楽になるけど、エラーが起きるとそこで止まってしまう。中小企業の経営者さんやフリーランスの皆さんにとって、スクリプトが途中で止まるのは時間とコストの無駄だ。だからこそ、おじさんは「try-catch」を使ったエラーハンドリングを強くおすすめする。これでスクリプトの堅牢性が上がり、失敗しても適切に処理できるようになるんだ。■ try-catchで堅牢なスクリプトを書くポイントGASでエラー処理をするなら、まずは基本のtry-catch構文を押さえよう。function safeProcess() { try { // ここに処理を書く } catch (e) { Logger.log('エラー発生: ' + e.message); }}だが、これだけでは不十分。中小企業やフリーランスなら、既存データを誤って消しちゃうリスクは避けたいだろ?だから、データは直接削除しない。代わりに新しい日時付きのシートやファイルへ結果を書き出すのがベターだ。さらに、入力検証やバックアップ、バッチ処理も必須だ。これで失敗時にロールバックも可能になる。おじさんの経験から言うと、これがコスト削減につながるぞ。■ 具体的なコード例:入力検証・バッチ書き込み・バックアップ付き以下は、スプレッドシートのデータを処理し、新しい日時付きシートに結果を書き出す例だ。既存データは一切変更しない。エラーがあればcatchで捕まえ、バックアップも作成する。functio
0
カバー画像

UrlFetchAppを使いこなす:GASでの外部API連携の基本と実践

こんにちは、GASおじです。今回はGoogle Apps Script(以下GAS)で外部APIと連携する際の基本と実践的な使い方を解説するよ。中小企業の経営者さんやフリーランスの皆さんが、GASを使って効率的にデータを取得・保存しつつ、コスト面でも賢く運用できるようにおじさん流のノウハウをお伝えするぜ。おじさんもSaaSの課金にはシビアだから、無駄なコストは極力抑えたい。GASはGoogleアカウントの利用枠内で追加の専用SaaS料金なしで使えるけど、quotaや実行時間の上限があることは頭に入れておこう。■ UrlFetchAppの基本と初期設定GASで外部APIを呼び出すには「UrlFetchApp」を使うのが基本中の基本。HTTPリクエストを飛ばして、JSONやXMLなどのデータを取得できるんだ。□ 初期設定と必要権限・GASのスクリプトエディタを開いて新規プロジェクトを作成。・外部APIにアクセスするため、「インターネットにアクセスする」権限(スクリプトのOAuth認証)が必要になる。・APIによってはAPIキーやOAuth認証が求められるので、事前に発行・設定しておこう。□ 個人情報の取り扱い外部APIに送るデータや取得した情報は個人情報や機密情報の場合が多い。GASプロジェクトのアクセス権は最小限にし、保存先のスプレッドシートも共有設定に注意しよう。■ 実践コード例:APIデータ取得と日時付き新規シートへの保存ここでは外部APIからJSONデータを取得し、新しいシートを作成して日時を名前に含めて保存する例を紹介するよ。既存のシートは更新せず、過去のデータは残す運用
0
カバー画像

Googleフォームの転記と確認メールはGASでどこまで自動化できる?

Googleフォームは、申込受付や問い合わせ管理を簡単に始められる便利なツールです。しかし、回答が増えてくると、フォームを用意しただけでは終わらないことに気づきます。たとえば、次のような作業が発生していないでしょうか。・回答を別の管理表へ転記する・申込者ごとに受付番号を付ける・申込者へ受付完了メールを送る・担当者へ新しい申込を知らせる・未対応の回答を探す・定員に達した日時を手作業で締め切るこれらの作業は、Google Apps Script(GAS)を使うことで自動化できます。フォーム送信後の処理を自動化できるGASでは、Googleフォームが送信されたタイミングをきっかけにして、複数の処理を順番に実行できます。一例として、次のような流れを作れます。1. 入力内容を確認する2. 同じ人からの重複申込がないか調べる3. 受付番号を自動で発行する4. 管理用スプレッドシートへ登録する5. 申込者へ受付完了メールを送る6. 管理者へ新規申込を通知する受付担当者が毎回コピー&ペーストをしなくても、フォームを送信した直後に管理表とメールへ反映できます。定員や空き枠も管理できるイベント、教室、相談予約などでは、日時ごとに定員が設定されていることがあります。この場合も、スプレッドシートに「日時」「定員」「受付済み人数」などを用意することで、GASから残り枠を計算できます。満員になった日時をフォームの選択肢から外したり、残り枠が少ない日時を管理者へ知らせたりすることも可能です。ただし、同じタイミングで複数の申込が届いた場合も考える必要があります。単純に人数を数えるだけでは、一時的に定員を超えて
0
カバー画像

積読と保存動画が増える人へ|Googleシートで「次に見る」を決める方法

「あとで読もう」と思った本。「時間ができたら見よう」と保存した動画。気づくと、ブックマーク、メモアプリ、ブラウザのタブ、動画サービスの再生リストに散らばっていませんか。問題は、保存数が多いことではありません。保存した後に「次に何を見るか」「見終わった後に何を残すか」が決まっていないことです。この状態を放置すると、同じ動画を何度も探す、買った本を忘れる、学んだ内容が行動につながらない、といった小さなロスが積み重なります。■ まず作るのは「全部入りの管理表」ではありません最初から細かい項目を増やすと、入力が面倒になって続きません。まずは次の7項目だけで十分です。・種別:本、動画、記事、講座・タイトル・URLまたは保管場所・ステータス:未着手、進行中、完了・優先度:高、中、低・次に見る予定日・学びメモたとえば「気になる動画」を登録したら、優先度を決め、予定日を1つ入れます。これだけで、保存リストが「いつか見る場所」から「次の行動を決める場所」に変わります。■ 迷わないためのステータス設計ステータスは増やしすぎず、次の4つに絞るのがおすすめです。・未着手:まだ見ていない、読んでいない・進行中:今週取り組んでいる・完了:読み終えた、見終えた・保留:今は取り組まない「あとで見る」を独立した状態にせず、未着手+予定日で管理すると、候補が増えても整理しやすくなります。■ 学びメモは3行で十分です長い感想文を書こうとすると、記録そのものが負担になります。見終わった後は、次の3点だけ残します。・一番役立ったこと・自分の仕事や生活で試すこと・後で確認したいこと引用したい文章や公開に使う素材は、通常の
0
カバー画像

GASで簡易的な予約システムをスプレッドシートで実現する方法

こんにちは、GASおじです。今日はGoogle Apps Script(GAS)を使って、簡易的な予約システムをスプレッドシートで構築する方法をお教えするぞ。SaaSの月額課金に毎月頭を悩ませているあなたに是非オススメだ。中小企業の経営者やフリーランスの方々にとって、固定費の削減は利益に直結するからな。□ 何故GASで予約システムなのかまず、既存の予約管理ソフトを使えば手間はかからんが、月額費用が馬鹿にならない。例えば、1ユーザーあたり月3000円程度の料金だとしても、年にすると36000円だ。10人の従業員が居れば、なんと年間36万円だよ。これをGASでゼロ円にできれば、その分を他に回せるって話だ。□ GASで予約システムを作る基本まずはGoogleスプレッドシートに以下のような表を作成してくれ。・予約日時・氏名・連絡先・用件シートに頭文字を使って「予約」「氏名」「連絡先」「用件」のラベルを一行目に入力しろ。そして、このデータを基に管理するGASを組んでいくぞ。□ GASコードの実装以下のコードをGoogle Apps Scriptに貼り付けてくれ。今回は簡易的な入力フォームを作るぞ。次に、index.htmlファイルをプロジェクト内に作成し、以下のHTMLコードを書こう。□ 実際の運用と利点この予約システムは非常にシンプルなものだが、あなたのビジネスニーズに併せてカスタマイズも可能だ。メール通知を付け加えたり、アクセスコントロールを強化したりすることで、さらに便利になる。肝心なのは、このカスタムソリューションが"タダ"で手に入るってことだ。□ 最終的にどれくらいのコスト削減
0
カバー画像

「ちょっとした修正」が大変な理由——Claude Codeで実践する現場の効率化

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「この写真だけ差し替えたい」「料金を1行直したい」——たったそれだけのことなのに、なぜか半日かかってしまった経験はありませんか?中小企業・個人事業主や店舗のオーナーさんから、こんなご相談をよくいただきます。「ホームページの修正って、思ったより面倒なんですね」と。実は、私たちプロでも"ちょっとした修正"には意外な落とし穴がたくさん潜んでいます。今回は、あるお客様のホームページで実際に対応した「事例ページの差し替え作業」を題材に、現場でどんな工夫をしているのかをお伝えします。---## スマホで「ここ直して」と送られてくるのが現実私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。お客様からの修正依頼は、きれいに整理された指示書で届く……わけではありません。実際には、スマホでサイトを見ながら「ここ」とスクリーンショットに赤丸をつけて送られてくることがほとんどです。中小企業・個人事業主の経営者が営業の合間にパッと気づいて、LINEで「この文言違う」と送る——あの感覚ですよね。だからこそ私は、指示を受け取ったら必ず**修正リスト**を作ります。- どのページのどこか- 何をどう変えるか- 完了の判断基準(「お客様がOKと言ったら終わり」など)これを書き出してから作
0
カバー画像

「広告成果が良すぎる」と思ったら要注意——Claudeが1年間見過ごされた計測ミスを発見

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「ROAS10倍」という数字を見て、広告がうまくいっていると信じていました。ところが実態を調べてみると、本当の成果は6.2倍。広告の内容やターゲットの問題ではありません。**そもそも数字の測り方が壊れていた**のです。これは、あるネットショップの広告運用を引き受けた初日に私が発見した実話です。「なんとなくアクセス解析を入れている」「広告の数字は代理店に任せている」という方は、同じことが起きているかもしれません。---## バラバラの数字を1枚にまとめたら、矛盾が見えた私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。このクライアントは、広告の管理画面、アクセス解析、ネットショップの売上画面をそれぞれ別々に見ていました。中小企業・個人事業主でいえば、ホットペッパーの予約数、Googleの検索表示回数、レジの売上を別々に眺めて「今月はまあまあかな」と判断している状態です。私が最初にやったのは、この3つの数字を**1枚のシートにClaude活用で自動でまとめる仕組み**を作ることでした。毎朝、前日の数字が一覧で見られるようになります。すると初日に、あることに気づきました。**アクセス解析の「購入件数」が、実際の受注件数のほぼ2倍になっている**のです。---#
0
カバー画像

SNS自動投稿が「静かに止まっていた」9日間——Claude Codeで発見した意外な原因

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「投稿が止まっている」と気づいたのは、なんと9日後のことでした。システムは正常。エラー通知も来ていない。なのに、Threadsへの投稿がまったく行われていなかったのです。原因を調べてみると、投稿の仕組み自体には問題がありませんでした。止まっていたのは、もっと手前の部分——**スプレッドシートへのアクセス許可が、期限切れになっていた**だけだったのです。---## Claude活用で自動化しても「放置できる」わけではない現実今回トラブルが起きた仕組みは、ざっくりこんな流れで動いていました。1. スプレッドシートに投稿内容と配信日時を書き込む2. システムがシートの内容を読み取る3. Threadsに投稿される問題は「2」の手前で起きていました。Googleのサービスには、一定期間で「もう一度アクセスを許可してください」と求められるタイミングがあります。これが静かに切れると、システムはシートのデータを読めなくなる。でもエラーは出ない。だから9日間、誰も気づけなかったのです。ここでお伝えしたいのは、**「Claude活用で自動化=完全放置」ではない**ということ。仕組みの中心はシステムでも、止まる原因は「許可の期限切れ」や「シートの編集ミス」のような、意外とアナログな場所に潜んでいます。---## 止まっている間に見えた「伸びる投稿」の法則再開する前に、まず過去の投稿を振り返りました。どんな投稿が読まれていたのか?データを見ていくと、明確なパターンがあ
0
カバー画像

Gmailの重要メール見逃しをGASで通知する考え方

Gmailを毎日開いているのに、大事なメールだけ見落とすことがあります。問い合わせ、入金連絡、納期確認、急ぎの返信。全部を通知すると疲れますが、重要なメールだけ拾えるとかなり楽になります。今日のGasおじブログでは、Google Apps Script(GAS)でGmailの未読かつ重要なメールを探し、必要な通知へつなげる考え方を整理しました。■ 何を自動化するのかやりたいことはシンプルです。Gmailの中から、未読で重要なメールを検索します。その件名、送信者、本文の一部を取り出します。自分が確認しやすい通知先へ送ります。これだけでも、何度もメールボックスを開く回数を減らせます。■ GASで作る時の基本の流れGASでは、GmailApp.search を使ってメールを検索できます。たとえば、未読で重要ラベルが付いたメールなら、検索条件は次のように考えます。is:unread label:importantこの条件でスレッドを取得し、各メッセージの件名、送信者、本文の抜粋を取り出します。通知先によって、Webhook URLやアクセストークンなどの認証情報が必要になる場合があります。認証情報を使う場合、コードを公開したり、他人に共有したりする時は絶対に値を入れたままにしないでください。■ 最初から自動送信しない方がいい理由通知系のGASは便利ですが、最初から強く自動化しすぎると失敗しやすいです。まずはログに出す。次に自分宛てだけへ通知する。その後で、通知条件を絞る。この順番が安全です。重要ラベルだけでは拾いすぎる場合があります。件名に「請求」「見積」「至急」などが含まれる時だけ通
0
カバー画像

テンプレートを使っても「他と同じに見えない」サイトを作れる——Claude×配色・写真設計の裏側

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「テンプレートを使うと、どこかで見たようなサイトになりそう」そう思っている方は多いのではないでしょうか。実際、私もテンプレートベースの制作に取りかかるとき、同じ不安を感じることがあります。でも今回、あるサイト制作を通じて確信しました。**テンプレートを使うかどうかより、どこまで「自分のブランド」に作り替えるかが勝負**なのだと。---## きっかけは「コストを抑えつつ、ちゃんとしたサイトが欲しい」というご相談私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。今回の制作は、コーポレートサイトのサンプルとして取り組んだものです。中小企業・個人事業主やサロン、中小企業・個人事業のビジネスのオーナー様から「ゼロからデザインを起こす予算はないけれど、既製品っぽく見えるのは嫌だ」というご要望をいただくことがあります。その解決策として、**既存のテンプレートを土台にしながら、配色・写真・文章をすべて入れ替える**という方法を採用しました。---## 実際にやったこと——10セクション分の「総入れ替え」今回仕上げたサイトは、全部で10セクション。ヘッダーからフッターまで、以下のような構成です。- ヘッダー(ロゴ・ナビゲーション)- メインビジュアル(キャッチコピーと第一
0
カバー画像

止まっていたGoogle広告を1日で復活させた話——Claude活用で設定見直し、成果が2倍に

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「広告を出しているのに、なぜか成果が出ない」「以前は問い合わせが来ていたのに、最近パタッと止まった」こんなお悩み、ありませんか?今回は、あるECサイトのGoogle広告運用をお手伝いした際に気づいた「見落としがちな設定ミス」についてお話しします。広告だけでなく、ホームページやLP制作にも通じる考え方なので、ぜひ最後まで読んでみてください。---## 広告が3ヶ月止まっていた、意外な理由私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。今回ご相談いただいたのは、全国に革製品を販売しているブランドさんでした。自社でGoogle広告を運用していたのですが、ある日突然、広告が止まってしまったとのこと。原因は「Googleからの本人確認メール」に気づかなかったこと。たったそれだけで、約3ヶ月もの間、広告からの売上がゼロになっていました。これ、実は珍しい話ではありません。中小企業・個人事業主や中小企業・個人事業主でも「Googleマップの管理権限が前のオーナーのままで、情報を更新できない」というご相談をよくいただきます。日々の業務が忙しいと、こうした管理系のタスクはどうしても後回しになりがちですよね。---## 「測り方」がズレていると、広告の頭脳が迷子になる広告を
0
カバー画像

「画像が急に表示されなくなった…」ClaudeがすぐURLパスの問題を特定してくれた話

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「お客様から"ホームページの写真が見えない"と言われた」「ブラウザに"保護されていない通信"って出るんですが、大丈夫ですか?」こうしたご相談をいただくことが、実は少なくありません。多くの場合、サイト自体はセキュリティ対応(SSL化)が済んでいるのに、**内部の設定だけが古いまま**になっていることが原因です。今回は、実際にあったトラブルと、その解決までの流れをご紹介します。---## 何が起きていたのか?私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。ある美容系サロン様のサイトで、ページの画像が突然表示されなくなる問題が発生しました。調べてみると、サイト自体はセキュリティ対応済み(https)なのに、**管理画面の"サイトの住所"設定だけが古い形式(http)のまま**だったのです。これ、たとえるなら「お店は引っ越し済みなのに、名刺やチラシが旧住所のまま」という状態。お客様が旧住所を見てお店に行こうとしても、たどり着けないですよね。サイトも同じで、ブラウザは「安全なページの中に、安全じゃない古い情報が混ざってる」と判断すると、その部分の表示をブロックしてしまいます。結果として、画像が見えなくなったり、デザインが崩れたりしていたのです。---## 実際に
0
カバー画像

「フォームがあるのに問い合わせが来ない…」Claude Codeで発見した裏側の設定ミス

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「お問い合わせフォームを設置したのに、一件もメールが届かない」そんな状況、実は珍しくありません。しかも厄介なのは、**見た目では何も問題がないように見える**こと。入力欄もあるし、送信ボタンもちゃんと押せる。でも、裏側で送信がブロックされていたら?広告費をかけても、SNSで発信しても、問い合わせはゼロのまま。今回は、私自身のサービス紹介ページで実際に起きたトラブルと、そこから一気に「集客できる状態」へ立て直した経験をお伝えします。---## 見た目は正常なのに、送信が止まっていた理由私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。私のサービス紹介ページにもお問い合わせフォームを設置していました。テスト送信をしてみると、ボタンは押せる、エラーも出ない。でも本番のメールが一通も届かない。原因を調べていくと、**スパム防止の仕組み(reCAPTCHAというGoogleのセキュリティ機能)の設定が一部抜けていた**ことが分かりました。この仕組み自体は、迷惑メールを防ぐためにとても有効なものです。ただし、設定が中途半端だと、迷惑メールどころか**正常なお問い合わせまでブロック**されてしまう。しかもエラーメッセージが出ないことも多く、見た目では全く気づけません。
0
カバー画像

「問い合わせフォームがあるのに反応ゼロ…」Claudeで発見した意外な原因

コンサルタントのしおかぜです。ちなみにこの記事も私の情報をもとにClaude codeが私のライターとなり制作してくれています。---「フォームを設置したのに、なぜか問い合わせが来ない」「アクセス数がどのくらいあるのかも分からない」こんな状態のまま、何ヶ月も過ぎてしまっていませんか?実は先日、私自身が運営する美容室向けサービスページ(HP制作・ECサイト制作・求人サポート・LINE公式アカウント活用の4ページ)で、まさにこの問題が起きていました。フォームは見た目上ちゃんと設置されている。送信ボタンも押せる。でも、**裏側の設定が一箇所抜けていたせいで、すべてのフォームが「届かない状態」だった**のです。今回はこの経験をもとに、中小企業・個人事業主の経営者が見落としがちな「問い合わせが来ない本当の原因」についてお話しします。---## 電話機はあるのに、回線が繋がっていなかった私がこの課題に取り組む際に活用しているのが **Claude Code** です。日々の作業ログや設定ファイルの確認、記事の構成案まで、Claude Codeに相談しながら進めることで、一人でも高速に質の高いアウトプットを出せるようになりました。原因を調べてみると、スパム対策の認証設定が途中で止まっていました。分かりやすくたとえるなら、**「お店に電話機を置いたのに、SIMカードを入れ忘れていた」**ような状態です。外から見ると電話番号は載っている。かけてみると呼び出し音も鳴る(ように見える)。でも、実際には繋がらない。Webの問い合わせフォームでも、これと同じことが起きていたわけです。しかもこの状態では、
0
カバー画像

「AIで書いているのに全部同じ記事に見える…」Claude活用ブログで陥りがちな原因と解決策

Claude CodeをWEB制作・広告運用・業務自動化に日々活用しているWEBコンサルタントのしおかぜです。今回は実際の現場で経験したことをお伝えします。---Claude活用で自動化の仕組みを使ってブログを更新しているのに、ふと気づくと「あれ、どの記事も似たような印象だな…」と感じたことはありませんか?先日、ある中小企業・個人事業主の経営者から「最近ブログのアクセスが伸びなくなった」とご相談をいただきました。記事の一覧を確認してみると、本文の内容は毎回違うのに、タイトルや書き出し、見出しの構成がほぼ同じパターンになっていたのです。これでは読者から見ると「また同じ話か」と思われてしまいますし、検索エンジンからも「似たようなページがたくさんある」と評価されかねません。---原因は「便利だから」と残していたテンプレートの固定部分Claude活用で自動化でブログを書く際、多くの場合は最初に作ったテンプレート(ひな形)をベースにしています。これ自体は効率的で良いのですが、問題はタイトルや見出しの「型」がずっと同じままになりがちなこと。たとえば美容中小企業・個人事業主のブログなら、タイトルが毎回「〇〇で理想のスタイルを手に入れよう!」のようなパターンから動かない。見出しも「業務対応の特徴」「お客様の声」「アクセス情報」の3本立てが固定…。本文がどんなに違っても、パッと見の印象が同じなので、読者は新鮮味を感じにくくなってしまいます。簡単なチェック方法があります。 直近10記事のタイトルと書き出しを並べてみてください。3割以上が同じような言い回しで始まっていたら、見直しのサインです。---
0
カバー画像

【業務効率化】スプレッドシートとChatGPTを連携!AIに「考えてもらう」自動化ツール開発の実例

はじめまして、宇佐美です。普段はGAS(Google Apps Script)やExcelマクロ、Pythonなどを使った業務自動化のツール開発を専門に行っています。最近、ココナラでも「話題のChatGPT(AI)を使って、社内の面倒な作業を自動化できないか?」というご相談をいただくことが増えてきました。これまでの自動化は「データを右から左にコピーする」「決まった計算をする」という単純作業がメインでしたが、AIを組み合わせることで『AIにちょっと考えてもらう作業』まで自動化できるようになっています。今回は、実際に開発して喜ばれた「GAS×ChatGPT」のカンタンな活用事例をご紹介します。💡 こんなことができるようになります商品レビューの自動感情分析: 大量の口コミを「ポジティブ」「ネガティブ」に自動分類商品説明文の量産: キーワードをスプレッドシートに入れるだけで、AIが魅力的な紹介文を自動生成問い合わせへの下書き自動作成: 届いたメール本文に対して、AIが返信の叩き台を自動でスプレッドシート上に用意スプレッドシートの関数やGASの仕組みを少し工夫するだけで、毎日1〜2時間かかっていた「頭を使う手作業」が、ボタン一つ、あるいは数分放置するだけで終わるようになります。「うちのこの作業、もしかしてAIで自動化できる?」「手作業が多くて毎日ヘロヘロになっている……」そんなお悩みがあれば、まずは「こんなことできる?」と気軽に見積もり相談メッセージを送ってくださいね。実務15年の経験から、予算に合わせた最適な形をご提案します。
0
カバー画像

定型レポート作成を自動化するには?Excel・Python・GASの活用例

毎月のレポート作成に時間がかかっていませんか?売上データを集計する。CSVをダウンロードする。Excelに貼り付ける。グラフを作る。前月との比較を入れる。担当者や店舗ごとの数値をまとめる。最後に見た目を整えて、社内共有や提出用の資料にする。ひとつひとつの作業は難しくなくても、毎月同じことを繰り返していると、かなり時間が取られます。しかも、レポート作成はミスが起きやすい作業でもあります。貼り付ける範囲を間違える。古いデータが残っている。関数がずれている。集計対象の期間を間違える。グラフが更新されていない。ファイル名や保存先を間違える。このような細かい確認が必要になるため、作成そのものよりも、確認作業に時間がかかっているケースも多いです。もし、毎月・毎週・毎日同じ形式のレポートを作っているなら、自動化できる可能性があります。定型レポートの作成は、Excelマクロ、Python、GASなどを使うことで、作業時間を大きく減らせることがあります。まず、Excelで完結しているレポートであれば、ExcelマクロやVBAが向いていることがあります。たとえば、毎月同じCSVを取り込んで、決まったシートに貼り付ける。商品別、担当者別、店舗別に集計する。決まったフォーマットの表に反映する。グラフを更新する。印刷用の帳票を作成する。ファイル名を付けて保存する。このような作業は、Excelマクロで自動化しやすい内容です。特に、すでに社内で使っているExcelフォーマットがある場合は、その形を活かしながら改善できます。新しいシステムを導入するほどではないけれど、毎月のレポート作成だけラクにしたい。担当者
0
カバー画像

Excelマクロ・GAS・Pythonの違い|業務自動化ではどれを選ぶべき?

業務を自動化したいと思ったとき、よく出てくる選択肢に「Excelマクロ」「GAS」「Python」があります。どれも業務効率化に使える便利な方法ですが、向いている作業は少しずつ違います。「Excel作業をラクにしたいならマクロ?」「スプレッドシートならGAS?」「データ取得やCSV加工ならPython?」「結局、自分の業務にはどれが合っているの?」このように迷う方は多いと思います。実際、業務自動化では、使う技術そのものよりも「今どんな作業に困っているのか」を整理することが大切です。同じ自動化でも、Excelの中だけで完結する作業なのか、Googleスプレッドシートを複数人で使うのか、Webサイトから情報を取得したいのか、大量のCSVを処理したいのかによって、選ぶ方法は変わります。今回は、Excelマクロ・GAS・Pythonの違いと、それぞれどんな業務に向いているのかを分かりやすく整理してみます。まず、Excelマクロは、Excelの中で行う作業を自動化したい場合に向いています。たとえば、毎月の集計表を作る。CSVを貼り付けて、不要な列を削除する。別シートに転記する。帳票を作成する。決まった形式で印刷する。複数のExcelファイルを1つにまとめる。このような作業は、ExcelマクロやVBAで効率化できることが多いです。特に、今すでにExcelで業務が回っている場合は、既存のファイルを活かしながら改善できるのが大きなメリットです。新しいシステムを導入するほどではないけれど、毎月の手作業を減らしたい。担当者がExcelで管理していて、ボタンひとつで集計できるようにしたい。このような
0
カバー画像

バーコードスキャナとしてカメラを使うケース

スマホやタブレットのカメラ、PC用ウェブカメラをバーコードスキャナとして利用するには、html5-qrcodeやquaggaなどのJavaScriptライブラリを利用するのが簡単ですが、2026年3月の仕様変更によりGASを通したカメラへの(マイクも!)アクセスができなくなりました。そのため2026年5月時点では前回のようなライブラリの読み込ませ方ができないので、外部のウェブサーバーを用意し、読み込んだデータをGAS側にPOST送信するようにします。GAS側でのデータ受け取りはこのようになります。function doPost(e) {  const value = e.parameter.data1;}処理完了後の返しreturn ContentService.createTextOutput('処理完了');GAS側へPOST外部ウェブサーバーのJavaScriptでは、QRコードの読み込みと送信を自動的に行いたいので次のようにします。 const append = (value) => {    let form = new FormData();    form.append('data1', value);   fetch("デプロイしたGAS側のURL",        {             method: "POST",             body: form         }         ).then(response => {             return response.value();         })    
0
カバー画像

毎月のExcel・CSV集計、まだ手作業でやっていませんか?

毎月の売上集計、CSVの貼り付け、在庫表の更新、請求管理、日報の集計。こういった作業に、思った以上の時間がかかっていないでしょうか。中小企業や個人事業主の方からよく聞くのが、「毎月同じ作業をしている」「Excelの管理が担当者任せになっている」「CSVを貼り付けて集計するだけで半日かかる」「売上や在庫をすぐ確認できない」「社内にエンジニアがいないので改善が進まない」というお悩みです。一つひとつは小さな作業でも、毎月・毎週・毎日発生すると、かなり大きな負担になります。たとえば、毎月5時間かかる集計作業があるとします。年間では60時間です。担当者の確認、修正、二重チェック、報告資料の作成まで含めると、実際にはもっと多くの時間が使われているケースも少なくありません。こうした作業は、仕組み化・自動化できる可能性があります。業務自動化とは何か業務自動化というと、大きなシステム開発をイメージされる方も多いかもしれません。しかし、実際にはもっと身近なところから始められます。たとえば、・Excelの集計を自動化する・CSVを取り込んで自動で表を作る・Googleスプレッドシートにデータを集約する・売上や在庫をグラフで見える化する・請求や入金状況を一覧化する・日報や作業報告を自動集計する・毎朝メールやLINEでレポートを通知する・PDFやExcelを自動出力するこのような改善も、十分に業務自動化です。特に中小企業の場合、最初から大きなシステムを導入するよりも、今使っているExcelやスプレッドシートを活かしながら、少しずつ自動化していくほうが現実的です。手作業を続けるリスク手作業には、いくつかの
0
カバー画像

スプレッドシートのPDF化と保存・メール添付

特定のスプレッドシートをPDF化する際によく使うGASの例です。PDF化自体はスプレッドシートのURL末尾に「/export?format=pdf」を追加してアクセスするだけで自動的にダウンロードまでできてしまいますが、ここではオプション設定付きでPDFファイルを生成し、ドライブ保存とメール添付までの一連の流れを自動化する際にオプション設定付きでPDF生成  const ss = SpreadsheetApp.getActiveSpreadsheet();   const sh = ss.getActiveSheet();   const ssId = ss.getId();   const shId = ss.getActiveSheet().getSheetId();   const fileName = "テストファイル";  const folderID = '保存先のフォルダID';//PDF化のための基本的なURL  let baseUrl = "https(←要半角変更)://docs.google.com/spreadsheets/d/"     + ssId     + "/export?gid="     + shId; //オプション設定項目  let pdfOptions = "&exportFormat=pdf&format=pdf"     + "&size=A4" //用紙サイズ (A4)     + "&portrait=true" //用紙の向き true: 縦向き / false: 横向き     + "&
0
カバー画像

無料で実現!Google スプレッドシートでタイムラインビュー風タスク管理術

ビジネスシーンでプロジェクト管理をするとき、タイムラインを視覚的に見られる機能は非常に便利です。Google スプレッドシートでは有料の Google Workspace ビジネスプラン以上でタイムラインビューが利用できますが、無料アカウントではこの機能が使えません。しかし、ご安心ください!今回は無料アカウントでもタイムラインビュー風の機能を実現する、カスタマイズしたスプレッドシートをご紹介します。Google Apps Script (GAS) も活用して、より便利な機能を実装しています。このスプレッドシートの特徴◇無料アカウントでもタスクを視覚的にタイムライン表示◇日単位・週単位でのタスク管理が可能◇不要な列を自動的に非表示にする機能◇カスタマイズ可能な柔軟なレイアウト主な活用シーン1. プロジェクト進捗管理チームのプロジェクト進捗を一目で把握したいとき、このタイムラインビュー風スプレッドシートが役立ちます。各タスクの期間や担当者を視覚的に表示できるため、複数のプロジェクトが並行して進む場合でも混乱せずに管理できます。2. イベント準備のスケジュール管理イベントの準備作業は細かなタスクが多く、それぞれの締め切りを管理するのは大変です。このスプレッドシートを使えば、準備期間全体を見渡しながら、各タスクの進捗状況を確認できます。3. 製品開発のロードマップ新製品開発やアップデートのスケジュールを管理する際にも最適です。開発、テスト、マーケティングなど各フェーズを視覚的に表示することで、チーム間の連携もスムーズになります。4. 個人のタスク管理もちろん個人での利用も可能です。日々
0
カバー画像

ガントチャートを使ったタスク管理スクリプトの構成解説

業務効率化を目指す皆さん、Google Apps Script (GAS) で作業を自動化することで、日常のタスク管理をよりスムーズに行えるのをご存知ですか?今回は、ガントチャートを使ったタスク管理スクリプトの構成方法について簡単に解説します。具体的なコードは示しませんが、GASでのスクリプト構成の流れを見ていきましょう。ガントチャートとは?まず、ガントチャートは、プロジェクトのスケジュールや進捗状況を視覚的に管理できるツールです。横軸に時間、縦軸にタスクを並べることで、各タスクの期間や進捗を一目で把握できます。GASを使って、スプレッドシート上で自動的にこのチャートを更新する仕組みを作ることができます。スクリプトの基本構成GASでガントチャートを構築する際、以下のステップでスクリプトを構成します。◇シートの準備スプレッドシートと特定のシートを開くための設定を行います。ここでデータの取得やシートの存在チェックを行います。◇タスクデータの取得スプレッドシート内にあるタスクのデータを取得します。各タスクの開始日や終了日を使って、どの期間にどのタスクが行われるのかを計算します。◇ガントチャートのリセット既存のガントチャートをクリアして、次の更新に備えます。これにより、古いデータが残らないようにします。◇ガントチャートの更新タスクの開始日と終了日に基づいて、ガントチャートを生成します。進捗状況に応じた色分けを行い、視覚的に進捗を把握できるようにします。◇日付と曜日の色付けカレンダーと連携し、土日や祝日などの特別な日を色分けします。これにより、プロジェクトがどのタイミングで進行するのかが
0
カバー画像

Meta(旧Facebook)広告データ自動出力ツールのご紹介

ツール概要このツールは、Meta(旧Facebook)広告マネージャーのデータをGoogleスプレッドシートに自動的に出力するGoogle Apps Scriptです。毎日の広告データを簡単に取得し、スプレッドシートに記録することで、広告のパフォーマンスを迅速に把握できます。使い方①スプレッドシートの準備Google スプレッドシートを作成し、スプレッドシートIDをメモします。データを書き込むシートの名前を指定します。②MetaトークンとアカウントIDの取得Meta広告マネージャーからアクセストークンを取得し、アカウントIDをメモします。③スクリプトの設定上記のスクリプトをコピーし、スクリプトエディタに貼り付けます。YOUR_SPREADSHEET_ID をスプレッドシートIDに、YOUR_ACCESS_TOKEN をアクセストークンに、YOUR_AD_ACCOUNT_ID を広告アカウントIDに置き換えます。④トリガーの設定スクリプトエディタで「トリガー」を設定し、スクリプトが毎日自動で実行されるように設定します。メリット自動化: 日々のデータ取得を手動で行う必要がなく、定期的に自動でスプレッドシートにデータが反映されます。カスタマイズ: 自分の必要なデータだけを選んで取得できるため、効率的に情報を管理できます。わかりやすい: スプレッドシートで視覚的にデータを確認できるため、パフォーマンスの把握が簡単です。アクションタイプこのツールでは、以下のアクションタイプに対応しています:link_click: リンククリック数outbound_click: 外部リンククリック数lea
0
カバー画像

雨の日、子どもと遊ぶツールをGASで作ってみた!

「みんなでボウリング!スコア計算めんどくさっ…スマホのアプリ使えばいいか」ちょっと待って!Googleスプレッドシートでスコア表を作ったはいいけど、計算が面倒…。そんな経験、ありませんか?実は、Google Apps Script(GAS)を使えば、自動でスコア計算してくれる便利なツールが作れちゃうんです!GASって何か分からない?大丈夫!プログラミングの知識がなくても、この記事を読めばGASで何ができるかイメージできるはず。GASって?GASは、Googleのサービスと連携して、様々な作業を自動化できるプログラミング言語です。例えば…スプレッドシートのデータを自動で集計・グラフ化Gmailの受信メールを特定の条件で自動振り分けGoogleカレンダーに定期的なイベントを自動登録などなど、GASを使えば面倒な作業から解放されて、時間を有効活用できます!GASでボウリングスコア計算ツールを作ってみた!GAS初心者🔰の私でも、意外と簡単にボウリングのスコア計算ツールが作れました!【ツールの仕組み】スプレッドシートにスコアを入力すると、GASが自動で検知GASが計算処理を実行計算結果をスプレッドシートに表示GASのコードは、「スコアを計算する」「結果を表示する」といった手順を順番に書いていくイメージです。【ツールのメリット】計算ミスを防げる!集計の手間が省ける!スコアの推移をグラフ化して、分析もできる!GASの可能性は無限大!GASを使えば、アイデア次第で様々なツールを作れます!旅行の予算管理ツール家計簿自動作成ツールタスク管理ツールなどなど、あなたの悩みを解決するツールが作れるかも!
0
カバー画像

【GAS】2次元配列の操作方法

■はじめに今日は自分の備忘録も兼ねて書いてみたいと思います。結構使うんですよ、2次元配列。■宣言方法2次元配列を利用する為に空の配列を宣言したい時は以下のような宣言をします。const arrTest = [];で、これの宣言が終わったら、追加するわけです。■要素を追加する方法追加方法は以下の様にします。arrTest.push([要素1, 要素2, 要素3.....]);必要な要素は作るものによって変わるので、事前に変数とかで取得しておきましょう。■要素を表示する方法取り出したい時は、arrTest[x][y]で指定してあげれば、取得できます。■最後にこんな機能も使いながら、開発案件お受けしております。何かありましたら、お気軽にご相談ください♪
0
268 件中 1 - 60