GAS個人的メモ
本日はGASの話題で行きます。
先日からスプレットシートに記載してる宛先に、GoogleDrive内のファイルを検索して貼り付けていくスクリプトの作成をしていまして…
当初の予定とは少し違う感じになりましたが、無事に完成しました!!
その中で勉強になった内容を少しだけ書いていこうと思います。
1.GoogleDriveのファイルにアクセスする方法。
//フォルダのIDを指定 var folder = DriveApp.getFolderById('フォルダのID'); //フォルダ内のファイル名を指定。 var temp = folder.getFilesByName('ファイルの名前').next();
DriveApp.getFolderByIdでGoogleDriveのフォルダの位置を指定します。
分かりにくいですが、GoogleDriveのURLの部分にフォルダのIDが書いてあります。
それと、共有ファイルで同じスクリプトを使う場合でも同じIDが使えるので便利です。
2.セルの日時を年月日で表示。
スプレットシート側から日付のデータを引っ張ってくると世界時刻で引っ張ってくるので、使いにくい… そんな時に使える方法です。
var today = Utilities.formatDate(sheet.getRange("対象範囲").getValue(), 'Asia/Tokyo','yyyy年M月d日');
このままメールの本文に追加したりするときに便利です。
3.文字列の中から特定のキーワードを探す。
スクリプトを作成する上で重要なポイントとなる検索。色々探して今回はmatchを使用して検索しました。
if( "検索する文字列".match(/検索ワード/)){ //検索ワードが有る場合の処理 }else{ //検索ワードが無かった場合の処理 }
このような感じで使えます。
ただし、検索する文字列側は変数でもいいですが、検索ワード側が変数だと文字列として扱ってもらえない為…
//正規表現オブジェクト(文字列を変数のまま計算する為) var Searchword = new RegExp( 検索する変数 + '(.*?)','g');
正規表現を使って検索できるようにします。(メタ文字の詳しい説明は検索してみてください)
最初に作成した下書き作成のプログラムに今回紹介したやり方を追加して、添付ファイルも自動的に仕分けするスクリプトとなりました。
とりあえずGASを使用した業務効率化は今回のスクリプトで大体終わりました。
次はRPAにチャレンジするためにPowerShellを勉強することになったので、そちらもある程度勉強が進んだら記事にしていきたいと思います。
HN:銀狐