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

すべてのカテゴリ

206 件中 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】スプレッドシートの情報を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
カバー画像

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
カバー画像

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
カバー画像

【業務効率化】スプレッドシートと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
カバー画像

Google Apps Script と ExcelVBA

以前から気になっていたGoogleAppsScript(GAS)を考察して、ExcelVBAとの違いや可能性について書いてみます。 特長 ①OSに縛られない。  インターネットに繋がる環境であれば、OSに縛られることなく使う事ができる。 ②各Google製品との連携が簡単に且つ密に出来る。 ③プログラミングによって自由に作成できる。 ④基本無料 懸念材料 ①インターネットが繋がらないと使えない。 ②クラウドサーバー側での動作なのでレスポンスが悪い。 ③フォームがExcelVBAのように込み入った仕様が不可かな。 GoogleAppsScript(GAS)はとてもよく出来たもので様々な可能性を感じています。 ネットワークでの各データ共有はより簡単に出来るようになるでしょう。 結論としては、全く違う「道具」だなあと思います。 Excelとスプレッドシートは同じ「表計算ソフト」ですが、それを拡張する考え方がまるで違うように感じました。 自分のように「Excel」の「Sheet」をデータベースと考えている者にとっては、是までと全く違った発想をする必要がありますね。 GASはまだまだ未知のものですので、色々創ってみてその可能性を探ってみたいと思います。 GASのプログラミング言語とExcelVBAを比較するとVBAの古さを感じますね。 でも、プログラミングの基本的なところを学ぶにはいいですね。 新しい言語はいろいろな所が省略されていて逆にわかりづらいかなあと思うところもありますね。 昔のCOBOL言語なんかは「定義文」がとても長くて大変でしたけど、データの属性やデータの長さ 実ファイル
0
カバー画像

【GAS】スプレッドシートの新規作成・改その4(おしまい)

■前回はこちら今回はスプレッドシートの新規作成処理の改良版最終回ということで、1~3までの処理の結合をしていきます。結合して関数化したソースは以下になります。function createSpreadsheet(spreadsheetName=``, folderID=``){  let flag = true;  let drive;  let files;  let newFileID = ``;  if(spreadsheetName!==``){    //ドライブデータの取得    if(folderID!==``){      drive = DriveApp.getFolderById(folderID);      files = drive.getFiles();    }else{      drive = DriveApp.getRootFolder();      files = drive.getFiles();    }    //重複チェック    while(files.hasNext()){      const file = files.next();      if(file.getMimeType() === MimeType.GOOGLE_SHEETS && _      file.getName() === spreadsheetName){        flag = false;        break;      }      //スプレッドシートデータの新規作成処理      newFileID = Spre
0
カバー画像

【GAS】スプレッドシートの新規作成・改その3

■前回はこちら今回はスプレッドシートの作成処理部分について記載していきます。基本の動作は以下のソースを利用します。//スプレッドシートデータの新規作成処理newFileID = SpreadsheetApp.create(spreadsheetName).getId();//指定フォルダへ移動するconst folder = DriveApp.getFolderById(folderID);DriveApp.getFileById(newFileID).moveTo(folder);ただ、この動作のままだとRootフォルダで作成した時にもmoveToを実行してしまうので、以下の様にちょっと修正します。if(flag===true){  //スプレッドシートデータの新規作成処理  newFileID = SpreadsheetApp.create(spreadsheetName).getId();  //フォルダが指定されていれば、指定フォルダへ移動する  if(folderID !== ``){    const folder = DriveApp.getFolderById(folderID);    DriveApp.getFileById(newFileID).moveTo(folder);  }}Rootフォルダ上に作成する時には変数「folderID」がブランクになるようにしているので、入力時だけmoveToが実行されるよう処理を分岐させています。これで一通りのソースの改造が終わりました!次回は一式まとめです。お楽しみに(*'ω'*)
0
カバー画像

GASツール制作例紹介:請求書をPDF出力するスプレッドシート

こんにちは、ペンスケです。今日はGASとスプレッドシートを使って、請求書を指定したフォルダにPDF出力するツールです。必要な事項を入力して、ボタンをぽちっと押すだけでPDFを出力。指定のフォルダに自動保存されるので、請求書のデータ管理を簡易化できます。ファイルの保存先は……もちろんGoogleドライブです!クラウド上に自動保存するので、データの共有が簡単。そして、ファイルをなくすトラブルを防ぐことができます。活用例①請求書の作成を簡易化②自動処理と組み合わせて複数の請求書を作成ネットで検索すると、GASの開発者様がたくさんのコードを公開してくださっています。その中から自分がやりたいことを実現できるものを参照して、カスタマイズすることで、ちょっとした不便を解消することができます。もしいいなぁと思ったらぜひ、いいねを押してくださいね。もしこちらのツールのご要望がありましたらDMにてご相談ください。
0
カバー画像

getRangeを使う時のオブジェクト考えてみました

getRangeの引数って割と決まった値を渡すことが多いので、定数宣言してたんですが、そうすると3行~4行宣言に食われてしまって可読性が下がるのでどうしたもんかと悩んでたんですが、あ、そういえばオブジェクト使えるんじゃないかなと思ったのでちょっと作ってみました。書いてる文言の関係もありそうですけどなんか長いですね(ーー;ここだけアロー関数にしちゃって簡素化してみるのもありかもしれないのでもう少し研究してみます(*'ω'*)
0
カバー画像

GASのdate型についての注意点

今日はプログラマさん向けの記事です。日付処理のモジュールの汎用性を上げるべく改修してたのですが、GAS(JavaScript)の場合、data型を関数に引数として渡すと強制的に参照渡しになってしまうようですね。色々と問題が発生してしまうので関数内に引数からdeta型を受け取る変数を用意して、そちらを処理するようにしないと、色々と問題が起きてしまうので注意が必要ですね。
0
カバー画像

[GAS] Googleドキュメントで全消去の後appendParagraphしたら先頭に空行ができる

はじめに 久しぶりにGoogleドキュメントへGAS構築する機会がありましたので、小ネタ扱いの備忘録です。Googleドキュメント関連ではあまりピンポイントな情報にたどり着けないことが多いので、できる限り具体的な内容のタイトルにしてみました。 なお、本記事はQiitaで公開した記事の要約・補足版となります。 問題点ドキュメント上で全消去の後、appendParagraphにて段落データを順次追記するというスクリプトを実行したところ、先頭に空行ができてしまいました。これを削除したい、もしくは空行を出さずにスマートに先頭から追加できないか、についての検証です。 そもそもドキュメントの仕様上、初期状態では空段落が最初から存在している状態です。そこにappendParagraphしていくわけなので、当然の結果です。同様のことはinsertParagraphでも起きます。insertParagraphの場合は先頭行ではなく、末尾が空行になります。元々あった空行がinsertParagraphによって押し出されるような感じになるので、これも当然の結果です。解決策について 以下の2パターンについて検証してみました。 1-順次処理の後でBody.removeChildする 2-先頭(もしくは末尾)のみ元の空行と差し替える1-順次処理の後でBody.removeChildする Body直下の子要素を削除するremoveChildを使用します。引数にChildを取りますので、Body.getChild(インデックス値)でChildとして渡します。先頭段落を削除する場合、Body.removeCh
0
カバー画像

[GAS]Maps.Geocoderを使用し施設名リストから緯度経度他情報を一括取得する

ツールの概要 Googleスプレッドシートの施設リストから、緯度、経度、住所を取得するツールです。 Google Apps Script(以降、GAS)のMaps.Geocoderを利用します。01:山手線の駅名リスト02:実行結果(処理時間約20秒)サンプルでは山手線の駅名リストからその住所と緯度経度情報を取得しています。※その他、施設の「種類(type)」も取得できますが、英語表記鶯谷駅、原宿駅、浜松町駅のように同じ施設名で複数の候補がある場合、一番最初の候補を取得し、他候補は切り捨てています。その際、備考欄に「他に候補あり」と補記するようにしています。このあたりはカスタマイズする際の余地として残しています。カスタマイズ案 ・不動産物件の位置情報をリスト化・KMLデータとして出力設置サポート及びカスタマイズ相談 かなりニッチなツールが多いと思いますが、案件応募用にテスト開発したツール類など、カスタマイズ前提で開発受付いたします。 もちろん、そのまま利用するのも良いですし、プロジェクト内の部品として組み込んだり、本ツールに機能追加するなど、ご要望に応じてカスタマイズいたします。 当方にて出品中のサービスを介してのみ受付致しますので、お気軽にお問い合わせください。本ツール以外のGAS開発に関するご依頼やご相談も歓迎いたします。 ※2021.02.14 GIFアニメが動作しないようでしたので修正しました。※2021.03.19 タイトル及び本文中、Geocoderに訂正しました。
0
カバー画像

プロパティストアでJSONを扱う

プロパティストアを使う場合の基本パターンconst userProperties = PropertiesService.getUserProperties();//データセットuserProperties.setProperty('key1', value1);//データ削除userProperties.deleteProperty('key1');//全データ取得const data = userProperties.getProperties();for (var key in data) {//    Logger.log('キー: %s, 値: %s', key, data[key]);  } JSON形式を扱う場合//データ例const saveData = {   "key1": "value1",   "key2": 10,   "key3": ["50", "100"],   "key4": 500 }//保存userProperties.setProperty("key",JSON.stringify(saveData)); //データ取得let d = JSON.parse(userProperties.getProperty('key')); console.log(d['key2']);//10//更新例d['key3'][0] = 500;userProperties.setProperty("key",JSON.stringify(d));
0
カバー画像

データサイエンス Vol 2

1章:YouTubeでチャンネル登録者を獲得するための「確実な方法」を考察してみました。1章では考察した結論を先に書きます「新規視聴者の獲得」と「登録率の向上」がひとつのキーワードだと思われます。1.「登録率」を高めるコンテンツの正体、PLT Logicでの観察結果は『専門性の高い動画』『勉強になった動画(実益)』、『良い時間を得られる動画(クオリティー)』が多く得られるなチャンネルでは登録者増加率が高いという結果が出ています。手段は様々ですが、ショート動画投稿を繰り返し投稿で露出を増やす、VSEO(動画SEO)を意識したタイトルやワード選び、サムネイル効果を重視、冒頭インパクト手法、動画内での登録呼び掛け、投稿頻度が高いなど、各チャンネルで共通して見られる勝ち筋が見えてきます。それ等の手法を用いて「新規訪問者を得る」→「インパクトを残す」→「居心地良さを提供」→「登録者獲得」→「ファンが新たな新規訪問者を呼ぶ。」このサイクルが回り出せば、チャンネル登録者の獲得率は飛躍的に増します。ただ、ここまでは「表向きな」一般論での考察ですね。私の観察では、それ等全ての要素に加えて、YouTubeアルゴリズム(特にブラウジング機能)が登録者獲得に決定的な影響を及ぼしていることが分かってきました。アップロードした動画が、YouTubeアルゴリズムで選出され、おすすめ動画としてトップ画面へ表示され続けることで、自然と登録者数は伸びていきます。 では、どのような動画が選ばれるのか? 私は、『動画で何を伝えたいのか?』ということに対して『明確な答えを出せている動画』こそがアルゴリズムへ好まれる(絡
0
カバー画像

PLT LOGIC LAB hamasun's LOG「実績/考察」

自身のホームページで公開中の記事を載せます。データの科学・・・奥が深いです。最近よく耳にする、統計学・情報科学・AI技術・・・etcそれらを活用し、API調査分析システムツール「PLTLogic」なる独自ツールを作成、より科学的かつ論理的な観点から、とある動画を観察し解析した結果をみていきます。PLTLogicで「飛び抜けた数値」を発見したのは2026/05/01 PM13時頃、対象動画は、「中田敦彦のYouTube大学 - NAKATA UNIVERSITY」チャンネル【罪と罰】天才は法を犯しても許されるのか?ドストエフスキーが描く極限の心理戦【Update版】(Crime and Punishment)2026/5/2現在 PLTLogicで確認された動画アベレージ視聴者数=334  高評価=1,109  チャンネル登録者数5,490,000(⚠️PLTLogicは、この数値を元に独自の指数を用いてデータを作成し、動画の力強さを測り可視化しています。)確かに中田敦彦のYouTube大学はチャンネル登録者数は非常に多いチャンネルですが、登録者数が多いチャンネルほど「休眠ユーザー(動画を見なくなる層)」が増えて再生率が落ちるのが一般的だと言われるYouTube界で、同一動画の視聴者数で勢いが衰えていない現象が見て取れます。この摩訶不思議な現象の謎にデータから迫ります。①(視聴維持の分析)「PLTLogic」で平均化(指数化)してもなお、その動画が同じ日に投稿された他の動画より高い値を示すという事実は、「企画の質」だけではない「構造的な強み」が隠されている証拠です。そして「勢いが
0
カバー画像

Googleフォーム回答の確認・転記・通知をGASで効率化する例【解説】

Googleフォームの回答確認で、毎回同じ手順を繰り返していませんか?たとえば、次のような作業です。 ・新しい回答が来ているか確認する ・回答内容を見て、対応が必要か判断する ・条件に合う回答だけ別シートへ転記する ・担当者へ通知する ・未対応の回答をあとから探す 1回あたり5〜10分の作業でも、週5日間(平日)繰り返せば25〜50分ほどの時間を費やすことになります。 件数が増えるほど、確認漏れ・転記ミス・対応忘れも起きやすくなります。 この記事では、Googleフォーム回答の確認作業をGASでどこまで効率化できるかを、架空のデモデータを例に解説します。 ※架空データを使った説明用のデモです。実際の案件では、現在の作業手順とデータ構成を確認したうえで、自動化できる範囲を切り分けます。この例で減らす手作業ここでは、問い合わせフォームの回答確認を例にします。 減らしたい作業は、主に次の4つです。 ・新着回答を毎回目視で探す作業 ・緊急度や問い合わせ種別を確認する作業 ・対応が必要な回答だけを別シートへ転記する作業 ・担当者向けの通知文を毎回作成する作業 完全に人の判断をなくすのではなく、「人が判断を下す前の整理作業」を減らすことを目的としています。 想定するフォームと管理項目 フォームの回答項目は、たとえば次のようなものです。 ・氏名 ・メールアドレス ・問い合わせ種別 ・問い合わせ内容 ・緊急度 一方で、以下の項目は回答者が入力するものではなく、運用側で管理・追記する列として扱います。 ・対応状況 ・確認メモ ・担当者 ・通知済みフラグ 手作業での運用では、担当者が毎回スプレッド
0
カバー画像

業務の自動化を相談するとき、実際どんな流れで進むのか。最初のイメージが湧くようにまとめました

業務の自動化や仕組み化に興味はあるけれど、実際に誰かに相談するとなると、最初の一歩がなかなか踏み出せない。そんな声をよくいただきます。「相談するときって、何を伝えればいいの?」「どこまで自分で準備しておかないとダメなの?」「専門的なことを聞かれて、答えられなかったら気まずい…」「途中で『その内容では無理です』と言われたらどうしよう」「だいたいいくらかかるのか、イメージが全然湧かない」こういう不安、とてもよくわかります。ご飯屋さんでも美容室でも、初めて行くお店は緊張しますよね。それと同じです。「中で何が行われているか」がわからないと、入り口の前で立ち止まってしまうのは自然な反応だと思います。なので今回は、業務自動化や仕組み化を誰かに相談したときに、実際どんな流れで進んでいくのかを、できるだけ具体的にお伝えしようと思います。読み終わる頃には、「あ、こういう感じなら相談してみてもいいかも」と思っていただけたら嬉しいです。ステップ1:「困っていること」をふわっと送るところから始まるまず最初のステップは、メッセージを1通送るだけです。このときに、整理された依頼内容を書く必要はまったくありません。たとえばこんな書き方で十分です。「毎日お問い合わせ対応に時間を取られていて、何とかしたいです」「営業リストを作るのに半日かかってしまいます。これって自動化できますか?」「予約管理がアナログで、ミスが起きそうで怖いです。どうにかなりますか?」このくらいの粒度で大丈夫です。むしろ、最初から完璧に整理された依頼書を作ってしまうと、本当に困っている部分とズレることもあります。「ふわっとした困りごと」のまま
0
カバー画像

「うちの規模で自動化なんて大袈裟」と思っている方へ。こう考えると進めやすくなります

業務の自動化や効率化の話をすると、よくこんな反応をいただきます。「うちみたいな小さい会社が、そんな大袈裟なことやっても意味ないでしょう」「個人でやっているくらいの規模で、わざわざツールを入れるほどでもない」「ちゃんとしたシステム会社に頼むようなレベルじゃないし、自分で何とかするしかない」気持ちはとてもとても、よくわかります!!!「自動化」「DX」「業務システム」と聞くと、なんとなく大企業や中堅企業の話のように感じてしまいますよね。実際、私がそうでした。。。「DX」と聞くと、鳥肌が立っていたくらいです!(笑)何百万円もかけて大きなシステムを入れる、専任の担当者を置く、社内全体を巻き込んで改革する。そんなイメージがどうしても先に立ちます。でも実際は、少し違います。むしろ、人手が限られている小さな組織や個人事業主こそ、ちょっとした仕組み化の効果が大きく出やすいのです。(実際に話を聞いて実践してみると、私の場合はちゃんと理解していなかっただけでした!)中小企業庁の白書でも、デジタル化に取り組む中小企業ほど、業務効率化だけでなく売上やコスト面でも好影響が出ている傾向があると示されています。そして、デジタル化に踏み出せない理由として最も多く挙がるのが、「費用負担」と「人材不足」です。つまり、多くの経営者は「効率化したい気持ちはあるけれど、何から手をつければいいかわからない」「システム会社に相談するほどでもない気がする」という状態にいるわけです。実は、、、、ここに、認識のすれ違いがあります。「自動化」と聞くと、つい全体を一気に変える話に感じてしまいますが、実際にやるべきことはもっと小さくて済
0
カバー画像

スプレッドシートで使うGAS②

配列で1行追加例const ss = SpreadsheetApp.getActiveSpreadsheet(); const sh = ss.getSheetByName('シート1');//シート名による指定 const saveData = ['A列のデータ','B列のデータ','C列のデータ']; sh.appendRow(saveData); フォントの修飾let cell = sh.getRange("D11"); let m = 'test'; cell.setValue(m);cell.setFontSize(15); //フォントサイズcell.setFontColor('#ff0000'); //フォント色 cell.setHorizontalAlignment('right');//フォントの水平位置 left right center cell.setFontWeight('bold');//フォントの太さnormal/bold cell.setFontFamily('Meiryo'); //フォントスタイルを指定 cell.setFontStyle('italic');//フォントを斜体にするか指定 cell.setVerticalAlignment('top');//フォントの垂直位置 データ取得const ss = SpreadsheetApp.getActiveSpreadsheet(); // const sh = ss.getActiveSheet(); const sh = ss.getSheetByName('シート1');全データ取得例
0
カバー画像

1週間で開発!AI×GASで「勉強の習慣化」を自動化した話

1. はじめに 皆様、はじめまして! インフラエンジニアとして活動しながら、GASやPythonを用いた業務効率化ツールの開発・販売を行っている柏木拓斗と申します。 本日から、日々の開発記録や技術への取り組みを「開発日誌」としてお届けすることにしました。 第一回は、現在私自身が取り組んでいるCCNAやAWSの資格勉強を支える自作ツールについてご紹介します。 2. なぜこのツールを作ったのか? インフラエンジニアとしてスキルアップし続けるには、日々の学習が欠かせません。しかし、仕事と勉強を両立させる中で「いつ、どのくらい勉強したか」を正確に記録し、振り返るのは意外と手間がかかるものです。 「記録の手間をゼロにして、学習そのものに集中したい」 そんな思いから、1週間ほどで開発したのがこの「勉強時間レコーダー」です。 3. ツールの特徴と技術的なこだわり このツールは、GAS(Google Apps Script)を活用したWebアプリ形式になっています。 ワンタップで記録完了: 外出先でもスマホからアクセスし、ボタンを押すだけで開始・終了を記録できます。 Googleカレンダー&スプレッドシート連携: 記録した時間は自動でスプレッドシートに蓄積され、同時にGoogleカレンダー上にも「学習実績」として反映されます。 AIツールの活用: 開発の一部にはAIツールを取り入れ、スピード感を持って実装しました。 現在は自分自身で使いながら、さらに利便性を高めるために日々アップデート(改修)を重ねています。「一度作って終わり」ではなく、使い心地を追求し続けるのがエンジニアとしての私のこだわり
0
カバー画像

スプレッドシート×Claude APIで業務を自動化する方法

「スプレッドシートの手作業を減らしたいけど、プログラミングは難しそう…」実は、Googleスプレッドシートの自動化ツール「GAS(Google Apps Script)」とClaude APIを組み合わせると、AIを活用した業務自動化が実現できます。GAS × Claude APIで何ができるのか具体的にはこんな自動化が可能です。お問い合わせの自動分類フォームから届いたお問い合わせをClaude APIが読み取り、「見積もり依頼」「クレーム」「一般質問」などに自動分類してスプレッドシートに記録します。レビューの感情分析ECサイトのレビューをスプレッドシートに入れると、Claude APIが「ポジティブ」「ネガティブ」「要改善ポイント」を自動判定します。定型レポートの自動生成売上データが入ったスプレッドシートから、「今月のハイライト」「前月比の分析」「改善提案」を含むレポート文を自動生成します。なぜClaude APIなのかClaude APIは、長い入力データに対する処理の安定性が高いです。スプレッドシートの数百行のデータを一括で処理する場合にも、精度が落ちにくい。また、「JSON形式で出力して」「カンマ区切りで出力して」といったフォーマット指定をきちんと守ってくれるので、GAS側で後続処理に繋げやすいのもメリットです。料金はどのくらいかかるのかClaude APIは従量課金制で、使った分だけ料金がかかります。2026年3月現在、Claude Sonnet(最もコスパの良いモデル)の料金は、入力100万トークンあたり$3、出力100万トークンあたり$15です。日常的な業務自動化
0
カバー画像

GoogleTODOをもっと便利に活用する!

【多忙なビジネスパーソンへ】タスク管理の迷宮から抜け出せていますか?Googleタスクに追加したはずのタスクが、いつの間にか100件を超えている。どれから手をつければいいのか分からず、結局目についたものから片付けてしまう。そんな日々を送っていませんか?Google TODOアプリを使っていますが、イマイチ活用方法がしっくりきてませんでした。「Googleタスクにタスクが山積みで、優先順位がつけられない」「重要なタスクが埋もれて、期限を過ぎてから気づくことがある」「どのタスクに着手中なのか、自分でも分からなくなる」「完了したタスクを振り返る仕組みがなく、達成感を得られない」そこで今回のスクリプトを開発し、Googleタスクを「時間のマトリクス管理」へと進化させたのです。結果、タスクの優先順位付けにかかっていた1日30分の時間が、ほぼゼロになりました。月換算で約10時間です。この浮いた時間を、本来注力すべき事業戦略の立案に充てられるようになったとのことでした。構築しているウェブアプリで何ができるのか?Googleタスクを「時間のマトリクス」で自動分類するシステムです。【Step 1】Googleタスクから全タスクを自動取得複数のタスクリストをまたいで、すべてのタスクを一括で読み込みます。手動でリストを切り替える必要はありません。【Step 2】優先度に応じて4つの象限に自動振り分け「今すぐやる」「計画的に実行」「スキマ時間で」「やらない」の4つに分類されます。未分類のタスクは専用エリアに表示され、ワンクリックで優先度を設定できます。【Step 3】着手中タスクを明確に表示現在取り組
0
カバー画像

「なんとなく面倒…」から卒業!GASで日常業務を自動化しませんか?

中小企業や個人事業主にとって、限られた人員と時間で日々の業務をこなすのは大きな課題です。特に、繰り返し発生する事務作業や情報の転記、連絡の取りまとめなど、誰がやっても同じような作業に多くの時間を取られていませんか?そのような「なんとなく面倒な作業」を、自動化によって効率化できる手段として注目されているのが、Google Apps Script(通称GAS)です。GASとは?専門知識がなくても導入可能な自動化ツールGASとは、GoogleスプレッドシートやGmail、GoogleカレンダーなどのGoogleサービスをつなげて、自動化を実現できる仕組みです。例えば、以下のような作業を自動化することができます。・Gmailの自動送信や受信データの抽出・Googleフォームの回答をスプレッドシートやGoogleカレンダーに自動反映・LINEやSlackなどチャットツールへの通知連携・スプレッドシートのデータ整形や定期集計・Googleカレンダーの予定調整やリマインド送信とはいえ、GASを一から勉強して使いこなすのは簡単ではありません。そこでおすすめなのが、こちらのGAS開発サービスです。実際に導入された企業の声GAS自動化の仕組みを導入された企業様からは、次のような声をいただいています。・毎日30分かかっていたメール送信作業がゼロになった・スタッフの入力ミスが減り、社内共有がスムーズになった・お知らせ業務の自動化で、リマインド漏れがなくなった・担当者1人分の業務負担が実質的に削減されたコードの知識がなくても安心して導入可能もちろん、プログラミングの知識がなくても問題ありません。ご要望に
0
カバー画像

Google Apps Script × Notion APIで顧客管理を自動化

NotionでCRM運用している人こそ知ってほしい「Google Apps Script」の威力NotionをCRMとして活用している皆さん、日々の顧客管理はいかがですか?顧客データベースを構築し、案件管理をカンバンボードで可視化し、営業活動の記録をページで詳細に管理する。Notionの柔軟性を活かして、市販のCRMでは実現できない独自のワークフローを構築されていることでしょう。でも、運用していく中で「ここがもう少し自動化できたら」「このデータ連携が手動なのが面倒」といった課題を感じることはありませんか?そんな時に力になるのが、Google Apps Script(GAS)です。NotionのCRM運用でよくある課題NotionでCRMを構築すると、その自由度の高さに感動します。顧客情報、案件管理、商談履歴、タスク管理、売上分析まで、すべてを一つのワークスペースで管理できる。市販のCRMツールでは不可能な、完全にカスタマイズされたシステムが完成します。しかし、運用を続けていくと、いくつかの課題が見えてきます。◇Gmail重要な顧客とやり取りをした後、その内容をNotionの顧客ページに手動で記録する作業。◇Googleカレンダーで商談の予定を入れた後、Notionの案件データベースにも手動で登録する作業。◇Google フォームで集めたリード情報を、Notionの見込み客データベースに一つずつ転記する作業。これらの作業は、それぞれ数分で完了しますが、積み重なると相当な時間になります。しかも、手動作業が多いと、記録漏れや入力ミスのリスクも高まります。GASがNotionのCRM課
0
カバー画像

Google Apps Scriptで実現する抽選番号発行システム

年末商戦が続くこの季節、プレゼントキャンペーンを打ち出すことが多い方もいるのではないでしょうか?今回は、フォーム送信時に抽選番号を自動で発行し通知する仕組みを例に、GASの魅力をご紹介します。Google Apps Scriptを使うメリットまず、GASを使うことで得られるメリットを整理しましょう。手動作業の大幅削減応募フォームを送信するだけで、抽選番号が自動生成され、応募者に通知される仕組みが構築できます。人手を介さずとも完結するため、時間の節約につながります。無料かつシンプルに導入可能Googleが提供するApps Scriptは無料で利用可能。Googleフォームやスプレッドシートを使っている方なら、すぐに活用できます。導入ハードルが低いコーディングの経験が少なくても導入可能です。簡単な手順を踏むだけで、自動化の仕組みを構築できます。抽選番号発行システムを簡単に設定する手順ここでは、抽選番号発行システムを簡単にセットアップする流れを紹介します。1. フォームとスプレッドシートを準備Googleフォームを作成し、応募者の名前やメールアドレスを入力できるフォームを設定します。その回答は自動的にスプレッドシートに記録されます。2. スクリプトエディタを開くスプレッドシートの「拡張機能」から「Apps Script」を開きます。スクリプトエディタが表示されますので、ここにシンプルなコードを記述します。3. トリガーを設定GASでは、Googleフォームの送信をトリガーにしてスクリプトを実行する設定が可能です。「トリガー」メニューから「フォーム送信時に実行」を設定しましょう。4.
0
カバー画像

Google Apps Scriptで効率的なメール送信スクリプト作成方法

皆さん、Google Apps Script(GAS)を活用して、日々の業務を自動化したいと考えたことはありませんか?特に、毎日同じようなメールを送信する必要がある方にとって、手作業で行うのは時間がかかり、ミスも起きやすいですよね。この記事では、GASを使って効率的にメールを送信するためのスクリプト作成方法について、簡単に紹介します。GASでのメール自動化のメリットまず、GASを使ってメール送信を自動化することで得られるメリットを挙げてみましょう。時間の節約: 日々同じ内容を手動で送信する手間を省けます。ミスの防止: フォーマットや宛先の間違いを防ぎ、正確なメール送信が可能です。業務の効率化: 自動化により、他の重要なタスクに集中する時間が増えます。Gメールの下書きテンプレート機能との違いGメールには「下書きテンプレート機能」がありますが、これを活用するよりもGASでスクリプトを組むメリットがあります。その理由を具体的な事例を挙げて説明します。1. 大量のメール送信が必要な場合たとえば、毎日数十通のカスタマイズされたメールを異なる宛先に送信する必要がある場合、テンプレート機能では手動で個別に対応する必要があります。しかし、GASでスクリプトを作成すれば、複数の宛先に対して一度に、しかも内容を個別にカスタマイズして送信できます。これにより、作業の負担を大幅に軽減することができます。2. データベースとの連携が可能GASを使うことで、Google スプレッドシートや外部データベースと連携して、メールの内容を動的に生成することが可能です。たとえば、毎日更新される売上データを基にしたレ
0
カバー画像

Googleフォームのデザインをカスタマイズする方法

この記事では、Googleフォームのデザインをカスタマイズするスクリプトについてご紹介します。特に、生成AIを使ってコードを書いたけれど、デザインの調整が難しいという方に役立つ内容です。GASを活用するメリットGoogle Apps Script(GAS)は、Googleフォームのデザインや機能を自分好みにカスタマイズするための強力なツールです。これにより、標準のGoogleフォームでは物足りない場合に、より魅力的で使いやすいフォームを作成することができます。業務効率化だけでなく、見た目の向上にもつながります。Googleフォームのカスタマイズの手順以下は、Googleフォームのデザインをカスタマイズするための基本的な手順です。①HTMLファイルの作成まず、HTMLファイルを作成し、フォームの基本構造を定義します。このファイルには、フォームの各要素(入力フィールド、ボタンなど)を含めます。②CSSファイルのインクルードフォームのスタイルを定義するために、CSSファイルをインクルードします。これにより、フォント、色、レイアウトなどをカスタマイズできます。②JavaScriptファイルの追加フォームの動作を制御するために、JavaScriptファイルを追加します。これにより、エラーチェックやフォームの送信処理などを実装できます。④フォームの各要素の設定フォームの各要素(例:日付入力フィールド、金額入力フィールド、ラジオボタンなど)を設定します。これには、HTMLタグを使って要素を定義し、CSSでスタイルを設定し、JavaScriptで動作を制御することが含まれます。⑤エラーメッセー
0
カバー画像

納品されたGoogleAppsScriptのコードを実行するまで

納品させていただいたコード(テキストファイル(txt拡張子のファイル))を実際にご利用いただくための手順をご紹介します。ー用意していただくものー・納品されたGoogleAppsScriptのコード(テキストファイル)・インターネットに繋がったWEBブラウザ(Chrome, Edge, Safariなど)・Googleのアカウントそれでは、納品されたコードをご利用するための流れとして、大まかに「コードをセットする」と「コードを実行する」に分けて説明させて頂きます。<コードをセットする>1. GoogleAppsScriptのサイトにアクセスします。ココナラのブログでは、外部のURLを載せることができないため、「GoogleAppsScript」と検索エンジンにて検索する方法でご案内させて頂きます。① 検索エンジンにて「GoogleAppsScript」と検索し、Googleのドメインである検索結果をクリック。②「start scripting」と書かれたボタンをクリック。③ 使用するGoogleアカウントを選択する。(すでにログインしている場合は、表示されない)① GoogleAppsScriptを管理するメインページが表示れたら、「新しいプロジェクト」と書かれたボタンをクリック。② GoogleAppsScriptのコードを作成、または編集するページ(エディタ)が表示される。2. 納品されたコードのファイルを開き、内容(コード)をコピーする① 元々書かれているコードは全て削除する。② 納品されたコードのファイルを開く。③ そのコードを全て選択(ショートカットのWin、Linux
0
206 件中 1 - 60