【GAS基礎講座 18.】 抽出したデータでファイルを作成(Gスプレッドシート)

IMPORTRANGE

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS基礎講座 17.】 文字列の検索、行の追加
GASで文字列の検索や行の追加ができます。 いい感じで行を追加できるようになります。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • GASを作る前段階の工程がわかります。
  • どんなGASを作ればいいかのイメージがつかめます。

 

抽出したデータでファイルを作成

 

 

設計編

 

動画はこちら

データはこちら

 

 

 

実践編

  • GASでスプレッドシートから値を取得する方法がわかります。
  • GASでファイルを特定のフォルダにコピーする方法がわかります。
  • スクリプトエディタの新しい機能がちょっとわかります。

 

動画はこちら

スクリプト

function ReadValue() {


  //元となるファイル
  const basefile = DriveApp.getFileById('?????????????sFQsr3ZyhsIZDBE2U9-XO1P4');

  //転送先のフォルダ
  const destfolder = DriveApp.getFolderById('?????????????-4Z_tmSdZWET');


  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  //「担当マスタ」を読み込む
  const sh = spreadsheet.getSheetByName('担当マスタ');

  const lastrow = sh.getLastRow();  //最下行の取得

  Logger.log(lastrow);
  
  for( let i = 2; i<= lastrow;i++)
  {
    let celldata = sh.getRange(i,1).getValue();
    console.log(celldata);
    basefile.makeCopy(celldata,destfolder);

  }

  
}


function copytantoufile()
{
  //元となるファイル
  const basefile = DriveApp.getFileById('?????????????sr3ZyhsIZDBE2U9-XO1P4');

  //転送先のフォルダ
  const destfolder = DriveApp.getFolderById('?????????????**ZWZLBx_bdQVl3RPK-4Z_tmSdZWET');
  
  basefile.makeCopy('鈴木',destfolder);
}

 

 

特定のフォルダにファイルを作成する

 

  • GASで特定のフォルダにファイルを作成する方法がわかります。
  • GASでQUERYを実行する方法がわかります。

 

 

動画はこちら

スクリプト

//ファイルを特定のフォルダに作る
function makefile() {
  const ss = Drive.Files.insert({
    "title": "ファイル名",
    "mimeType": "application/vnd.google-apps.spreadsheet",
    "parents": [{ "id": '1m_ZmZWZLBx_bdQVl3RPK-4Z_tmSdZWET' }]
  })


  //ファイルを開く
  let sheet = SpreadsheetApp.openById(ss.id);


  //A1にQUERY文を入れる
  let strQuery = "=QUERY(IMPORTRANGE(\"165sGjs-CydW-OJZybgqsFQsr3ZyhsIZDBE2U9-XO1P4\",\"売上データ!A1:D\"),\"select * where Col1='田中'\")";


  sheet.getRange("A1").setValue(strQuery);
}

 

 

 

担当者ごとのファイルにQUERY

  • GASで新規ファイルに担当者ごとのQUERY文を追加することができます。
  • GASで新規にファイルでIMPORTRANGEした場合に「アクセス許可」される方法がわかります。

動画はこちら

 

スクリプト

//特定のフォルダに担当者毎のファイルを作る
function ReadTValue() {


  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();


  //「担当マスタ」を読み込む
  const sh = spreadsheet.getSheetByName('担当マスタ');
  const lastrow = sh.getLastRow();  //最下行の取得


  Logger.log(lastrow);


  for (let i = 2; i <= lastrow; i++) {
    let celldata = sh.getRange(i, 1).getValue();
    console.log(celldata);
    makeTantoufile(celldata);
  }
}



function test() {
  makeTantoufile("鈴木");
}


//ファイルを特定のフォルダに作る
function makeTantoufile(tname) {
  const ss = Drive.Files.insert({
    "title": tname,
    "mimeType": "application/vnd.google-apps.spreadsheet",
    "parents": [{ "id": '1m_ZmZWZLBx_bdQVl3RPK-4Z_tmSdZWET' }]
  })


  //ファイルを開く
  let sheet = SpreadsheetApp.openById(ss.id);


  //A1にQUERY文を入れる
  let strQuery = "=QUERY(IMPORTRANGE(\"165sGjs-CydW-OJZybgqsFQsr3ZyhsIZDBE2U9-XO1P4\",\"売上データ!A1:D\"),\"select * where Col1='" + tname + "'\")";


  sheet.getRange("A1").setValue(strQuery);
}

 

 

最後までご覧いただきありがとうございます。

つぎはこちら

【GAS基礎講座 19.】 チェックシートをコピーし シートを移動する方法さらにLINEと連携(Gスプレッドシート)
GASでシートのコピーや移動方法がわかります。 GASで日付の扱い方がわかります。

 

コメント

タイトルとURLをコピーしました