ひとり税理士のGAS -2.会計ソフトインポート用データを作成(6)-

前回のつづきです。

var Asheet=SpreadsheetApp.openById('1a2b3c4d5e6f7g8h9i');  // [スプレッドシートID]で取得
var Bsheet=SpreadsheetApp.getActiveSpreadsheet();       // 現在使用しているものを取得
var Asheet_X = Asheet.getSheetByName('X');
var Bsheet_Y = Bsheet.getSheetByName('Y');
var vlr=Asheet_X.getLastRow();
var Asheet_X_Value = Asheet_X.getRange(1,1,vlr,Asheet_X.getLastColumn()).getValues();
var array_r = [];
for( var i=1; i < Asheet_X_Value.length ; i++ ){
  var array_c = [];  // ここで、array_c を空にしないと・・・
  for( var j=1; j <= Asheet_X_Value[0].length ; j++ ){
    array_c.push( Asheet_X_Value[i][j] ) ;
  }
  array_r.push( array_c ) ;
}
Bsheet_Y.getRange(1, 1,array_r.length,array_r[0].length ).setValues( array_r );

 上のプログラムは、元のデータから移記するだけのもの。
 会計ソフト用のインポートデータを作成する場合、インポートの規則に従って項目の配列や書式に合わせる必要があります。
 項目の配列を変更する方法は、

for( var j=1; j <= Asheet_X_Value[0].length ; j++ ){
    array_c.push( Asheet_X_Value[i][j] ) ;
}

   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 

array_c.push( Asheet_X_Value[i][3] , Asheet_X_Value[i][2] , Asheet_X_Value[i][1] ・・・) 

項目の内容を条件によって編集したい場合は、

array_c.push( Asheet_X_Value[i][3], ・・・)

   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 

if (Asheet_X_Value[i][3]=="入金") {var vinout = "income"
                             }else{var vinout = "expence"}

array_c.push( vincout , ・・・) 

出力先のスプシの書式を編集したい場合は、

Bsheet_Y.getRange(2, 1,array_r.length,1).setNumberFormat("yyyy-mm-dd");
Bsheet_Y.getRange(2, 2,array_r.length,2 ).setNumberFormat("####0"); 

こんな感じで会計ソフトインポート用データ作成を作成。

次回は、実行するボタンの作成。

この記事が気に入ったらサポートをしてみませんか?