絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

11 件中 1 - 11 件表示
カバー画像

【GASでチームの情報共有を爆速化】Googleチャットで記事を自動配信!〜チームの連携を強化するGAS活用術〜

「情報共有、もっとスムーズにできないかな…」そう思ったことはありませんか?チームで仕事をする上で、情報共有は欠かせません。しかし、メールでのやり取りや会議での共有だけでは、どうしてもタイムラグが生じてしまいます。「もっとリアルタイムに情報を共有したい!」GASで実現できること今回ご紹介するGASスクリプトは、スプレッドシートにまとめた記事情報を、Googleチャットのスペースに自動配信します。記事のタイトル、メディア、要約、画像などを自動で抽出し、見やすい形でGoogleチャットに配信します。これにより、チームメンバーはいつでもどこでも最新の情報にアクセスできます。スクリプトの仕組みこのスクリプトは、スプレッドシートから記事情報を取得する前回送信した記事と重複しないように、ランダムに記事を選択する選択した記事情報を整形し、GoogleチャットのWebhook URLを利用してスペースに送信するという流れで動作します。GASを活用するメリットGASを使えば、チームの情報共有を大幅に効率化できます。リアルタイムな情報共有情報共有の手間を削減チームメンバーのエンゲージメント向上GASは、あなたのチームの情報共有を強力にサポートします。GASをもっと活用したいあなたへGASを使えば、今回ご紹介した記事の自動配信以外にも、様々な業務効率化を実現できます。例えば、タスク管理の自動化進捗状況の自動報告顧客情報の自動更新など、あなたのアイデア次第で可能性は無限大です。GASの専門家によるサポート「GASを使ってみたいけど、何から始めればいいか分からない…」そんな方は、ぜひ私のココナラサービスを
0
カバー画像

【スプレッドシート】便利なQUERY関数でデータ抽出する The QUERY function is a very useful tool in spreadsheets.

QUERY関数はスプレッドシートで非常に便利なツールです。データの抽出やフィルタリングを行えます。=QUERY(データ範囲 クエリ) QUERY関数を使うことで、スプレッドシートでのデータ操作が一段と効率的になります。 The QUERY function is a very useful tool in spreadsheets. You can extract and filter data. =QUERY(data range, "query", [number of header rows]) The QUERY function makes working with data in spreadsheets more efficient.
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
カバー画像

Google Apps Script でできること

ココナラで Google Apps Script (GAS) の開発を請け負っている方は沢山いらっしゃいますが、そもそも Apps Script が用途に合っているかどうかを依頼者自身で判断することは些か難しい事があるのではないかと思います。そこでソフトウェア開発者ではないビジネスユーザを対象に、Apps Script を利用してやりたいことが適切に実現できるか否かを判断するために重要なポイントを、できるだけ平易簡潔にまとめてみます。※分かりやすさのため、限定的な機能や特殊な手段でのみ実現できることは省略しています。正確な情報は公式サイトなどをご参照ください。 Apps Script とは Google が提供するクラウドローコードプラットフォームです。JavaScript を使って Google サービスの拡張・統合・タスクの自動化・簡易 Web アプリの作成ができます。よくある使い方・スプレッドシートのマクロ・カスタム関数・アドオン Excel VB マクロの代わりにスプレッドシートでは JavaScript マクロを組むことができ、これは Apps Script の一種です。単純な操作であれば「マクロを記録」することで自動作成することもでき、これが最もシンプルな使用例です。同様に、独自のスプレッドシート関数を作ることができ、外部データを参照したり複雑な計算式を一つの関数にまとめて利用できます。アドオンとしてスプレッドシートの画面内に独自のメニューやサイドバーを追加することもできます。これらは全て Apps Script に紐づけたスプレッドシートの中でのみ利用できます。・
0 500円
カバー画像

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

【GAS】フォルダ名とフォルダIDを2次元配列で取得する関数

今回はスプレッドシート上から動的にフォルダ情報を取得したい時に利用できる関数について記載します。なんで2次元配列にしてるかというと以下二つの理由があります。1)人間が把握するフォルダ名と、システムが把握するIDを取得する必要がある為。2)まとめたセル操作で便利な「setValues()」に引渡可能なデータが2次元配列限定の為。//=========================================//特定のフォルダ下のフォルダ情報を2次元配列で返す関数//==========================================function getFolderArray(folderId){  //定数宣言  const rootFolder = DriveApp.getFolderById(folderId);  const folders = rootFolder.getFolders();  const folderArray=[];  while(folders.hasNext()){    const folder = folders.next();    //2次元配列    folderArray.push([Folder.getName(),Folder.getId()]);  }  return folderArray;}上記ソースでフォルダ情報を2次元配列で取得できます。1列目がフォルダ名で、2列目にフォルダIDを取得しています。
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】スプレッドシートの新規作成・改その2

■前回はこちら前回はファイルの作成位置がルートが指定フォルダかでの分岐をするようにしました(*'ω'*)今回は重複チェック処理について記載します。基本的な重複チェックはこちらの記事に記載した方法と一緒です。ちょっと違う点として、フォルダ作成の場合は名前のチェックだけでいいんですが、ファイルの場合はファイルタイプ(= MIME Type)を比較する必要があります。なので条件式としては以下の様な感じ。while(files.hasNext()){  const file = files.next();  if(file.getMimeType() === MimeType.GOOGLE_SHEETS _  && file.getName() === fileName){    flag = false;    break;  }}ポイントとなるのは、以下のコードです。file.getMimeType() === MimeType.GOOGLE_SHEETS「getMimeType()」が現在取得しているファイルのMIMETypeを取得します。パソコンのファイルでいうファイル拡張子みたいなものですね。比較定数値は以下の様にテキストコードで打つこともできますし。`application/vnd.google-apps.spreadsheet`今回の記事の様に以下の公式MIMEType定数を使う手もあります。「 developers.google.com/apps-script/reference/base/mime-type 」次回はファイルの作成処理部分について記述し
0
カバー画像

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

前回ブログだと重複対策が出来てなかったので、改修してみました。基本的にはフォルダの重複チェックと似たような処理を行うのですが、ルートフォルダ上(マイフォルダ)に作成したい場合と、指定のフォルダに保存したい場合で使うメソッドが異なるので、分岐させます。if(folderID !== ``){  drive = DriveApp.getFolderById(folderID);  files = drive.getFiles();}else{  drive = DriveApp.getRootFolder();  files = drive.getFiles();}指定のフォルダを取得したい場合は「getFolderById()」ルートフォルダを取得したい場合は「getRootFolder()」をそれぞれ使用します。 この時にブロック変数にしてしまうとifから出たら取得した変数の値が解放されてしまうので、上記のコード以前にletなりvarなりで変数宣言しておきましょう。続きはまた次回(*'ω'*)
0
カバー画像

【GAS】Discordへの通知処理

だいぶご無沙汰のブログです。本業だったり、プライベートの方が忙しくなっていたため、しばらく対応できずになっていました。まだ少し準備中ですが、近々また活動再開できればなと思いますので、ご用命頂けましたら幸いです。さて、最近はDiscordを使ってることが多かったのと、最近SpreadSheetの管理が多かったので、定期的にDiscodeに自動でメンションで通知する機能などを作っていました。DiscordとSpreadSheet使う環境でしたら結構便利なのでオススメです(´ω`*)
0
11 件中 1 - 11
有料ブログの投稿方法はこちら