Translate

Post Date:2022年3月6日 

GASでExcelをGoogleスプレッドシートに変換する

ゾウでもわかる Google Apps Script

ExcelファイルのデータをGASで処理するには、GoogleDrive上でExcelファイルを開いてGoogleスプレッドシートで保存する必要があります。

ExcelをGoogleスプレッドシートとして保存

小さなExcelファイルなら上記の方法でも構いませんが、大きなExcelファイルだと ”Googleスプレッドシートとして保存” で時間がかかりすぎて保存できない、、、。

また複数ファイルがあるときは一括変換できれば楽ちんです。

ということで、GASでExcelファイルをGoogleスプレッドシートに変換する2つの方法について説明します。

  1. Excelファイルを指定してスプレッドシートに変換する
  2. フォルダにあるExcelファイルを一括変換する

Excel to Google Sheets には Drive APIが必要

Google Apps Script でExcelファイルを開く場合には、Googleドライブのファイルやフォルダを操作できる DriveAppクラス を使います。

但し、そのまま、DriveAppのコードを書いて実行しても

エラー ReferenceError: Drive is not defined

と、実行できません。


Drive APIサービスを追加する

DriveAppクラスを使うためには、Apps Scriptエディターの左側のメニューにある「サービス」からDrive APIを追加する必要があります。

① サービスの右側にある+をクリック

サービスの追加

② 一覧から Drive API を選択して追加

Drive APIを選択

Drive APIが追加されると左メニューのサービスの下にDriveが表示されます。

サービスにDriveが追加

これで DriveAppクラスが利用できます。


Excelファイルを指定してスプレッドシートに変換する

Excelファイルを指定して、指定したフォルダにGoogleスプレッドシートを出力するサンプルコードとなります。

Excelファイルと出力先のフォルダはIDで指定します。


ExcelファイルとフォルダのID

GoogleドライブからExcelファイルを開いたURLのXXXXXの部分がIDとなります。

https://docs.google.com/spreadsheets/d/XXXXX/edit

ExcelのファイルID

GoogleドライブのフォルダIDは、XXXXXの部分がIDになります。

https://docs.google.com/drive/u/0/folder/XXXXX

フォルダID


サンプルコード(Excelファイル指定)

上記で説明したExcelファイルと出力先のフォルダのIDを指定する、簡単なサンプルコードです。

12行目で取得したExcelファイル名を13行目でログに出力していますが、変換したGoogleスプレッドシート名も同じファイル名にしています。

function convertExcel()  {
  //変換するExcelファイル
  let excelFileId = 'XXXXX'

  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  //ExcelファイルをファイルIDで取得
  var excelFile = DriveApp.getFileById(excelFileId)

  //Excelファイル名取得
  var fileName = excelFile.getName()
  Logger.log(fileName)

  var option =  {
    mimeType:MimeType.GOOGLE_SHEETS,   //Google sheets
    parents:[{id:destFolderId}],                       //出力先フォルダー
    title:fileName                                          //出力先ファイル名
  }
  Drive.Files.insert(option,excelFile)
}

20行目の

Drive.Files.insert(option,excelFile)

で、変換を実施していますが、15〜19行目のオプションで、

  • MIMEタイプ
  • 出力先フォルダー
  • 出力先ファイル名

を指定しています。

スプレッドシートへの変換なのでMIMEタイプをGOOGLE_SHEETSとしていますが、Enum MimeType | Apps Script | Google Developers に全てのMIMEタイプが記載されています。


変換後に処理を続ける

Googleスプレッドシートに変換してから、そのままシートをGAS処理する場合には、20行目からを下記のように変更してください。

取得したシート名をログに出力する簡単なサンプルです。

function convertExcel()  {
  //変換するExcelファイル
  let excelFileId = 'XXXXX'

  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  //ExcelファイルをファイルIDで取得
  var excelFile = DriveApp.getFileById(excelFileId)

  //Excelファイル名取得
  var fileName = excelFile.getName()
  Logger.log(fileName)

  var option =  {
    mimeType:MimeType.GOOGLE_SHEETS,   //Google sheets
    parents:[{id:destFolderId}],                       //出力先フォルダー
    title:fileName                                          //出力先ファイル名
  }
  var sheetObj = Drive.Files.insert(option,excelFile)

  //スプレッドシートIDを使って、スプレッドシートオブジェクトを取得
  var sheet = SpreadsheetApp.openById(sheetObj.id).getActiveSheet()
  Logger.log(sheet.getName())  
}

変換したスプレッドシートにシートが複数ある場合には、getSheetByName() でシート名を指定します。


フォルダにあるExcelファイルを一括変換する

次は、フォルダにある複数のExcelファイルを一括でGoogleスプレッドシートに変換する方法です。

フォルダにExcelファイル以外がある場合には処理されないようにしています。

function convertExcels() {
  //Excelがあるフォルダ
  let sourceFolderId = 'XXXXX'
  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  // フォルダ配下のファイルを取得
  var sourceFolder = DriveApp.getFolderById(sourceFolderId)
  var folderFiles  = sourceFolder.getFiles()

  // Excelファイルをイテレートして順にスプレッドシートに変換
  while(folderFiles.hasNext()) {
    var file = folderFiles.next()
    //Excelファイルの判断   
    if (file.getMimeType() == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')  {
      var fileName  = file.getName()
      Logger.log(fileName)
      Logger.log(file.getMimeType())
      var option =  {
        mimeType:MimeType.GOOGLE_SHEETS,  //Google sheets
        parents:[{id:destFolderId}],      //出力先フォルダーを指定
        title:fileName                    //出力先ファイル名
      }
      Drive.Files.insert(option,file)
    }
  }
}

フォルダにあるファイル一覧を取得しているのが、8〜9行目です。

そして、12行目の while文のhasNext() で13行目の next()で取得したファイル一覧から取り出せるファイルが残っているかを調べて、順番にファイルを処理していきます。

Excelファイルだけを変換するために、取り出したファイルがEXCELファイルかを15行目で調べています。

18行目でgetMimeType()でファイルのMIMEタイプを出力していますが、application/vnd.openxmlformats-officedocument.spreadsheetml.sheet が、拡張子xlsのExcelファイルとなります。


GASの基礎を学べる参考図書

ある程度プログラミンがわかっていれば、WEBやYoutubeでも十分に調べられると思いますが、初歩的なところからであれば参考図書は有効な学習手段です。

詳解! Google Apps Script完全入門 [第3版]」は、プラグラミング初心者にわかりやすく説明されています。GASを最初に学ぶ一冊として良書です。

Udemy オススメ講座

【新IDE対応】Google Apps Script(GAS)の基礎を完全習得

【新IDE対応】Google Apps Script(GAS)の基礎を完全習得

講師:事務職たらこ

印象に残りやすい手書き風スライドを用いGASの基本的なプログラミングを気軽に学ぶことができる。本講座でGASを活用した自動化ができるレベルにはなれないが、基礎としては十分。

Post Date:2022年2月20日 

頭皮環境改善計画(育毛剤と低温ドライヤー)

和漢草とろみ育毛剤とuka スカルプブラシ ケンザン バリカタ

薄毛は、男性、女性にもある悩みです。

薄毛予防に、

と、過去に紹介したグッズでスカルプケアに努めていますが、今回は、禁断(?)の育毛剤低温ドライヤーです。


育毛剤とは

育毛剤は医薬部外品で、頭皮の環境を整えて、いまある毛を育て、抜け毛を防ぐのが目的です。一方、発毛剤は髪の毛を生やす医薬品です。

医薬部外品とは、国民生活センターによると「人体に対する作用が緩和なもの」で育毛の有効成分が含有されている商品も医薬部外品とあります。


育毛剤の有効成分は?

育毛剤有効成分には「グリチルリチン酸ジカリウム(甘草)」「ニンジンエキス(高麗人参)」「センブリエキス(センブリ)」「パントテニルエチルエーテル」「酢酸DL-α-トコフェロール」などがあります。

育毛剤の有効成分には、

  • 血行促進
  • 抗炎症作用
  • 抗酸化作用

といった効果があります。甘草、高麗人参、センブリは、生薬で漢方などにも使われています。

育毛剤もボタニカル(植物由来)で、シリコンフリー、パラベンフリーなど、なるべく頭皮に優しいものを使いたいものです。

植物由来の育毛に有効成分な成分の詳細です。


グルチルリチン酸ジカリウム(甘草)

グルチルリチン酸ジカリウムは、甘草(かんぞう)の根に含まれる成分で、頭皮の痒み、肌荒れを予防します。甘草は海外ではリコリスと呼ばれ、お菓子にも使われていますが、日本人には馴染めない味です。


ニンジンエキス(高麗人参)

高麗人参は薬草として有名ですが頭皮にもいいようです。頭皮の血行をよくして抜け毛を防いで発毛を促進する効果があります。


センブリエキス

センブリも薬草として有名です。胃腸薬としても飲まれていますが、良薬口に苦しの代表格でとても苦いです。センブリエキスは血行促進と抗酸化作用で薄毛を防ぐ効果があります。


値段もピンキリな育毛剤

上記の成分を含む育毛剤だと、美柑の雫(みかんのしずく)柑気楼(かんきろう)などがありましたが、いい値段です。

何となく値段が高い育毛剤の方が効果があるように思えてしまいますが、以前、温泉宿に置いてあった育毛剤を思い出しました。売店で購入を迷いましたが、そんなに高かったという記憶もありません。

調べてみるとアズマ商事は旅館やホテルにビューティーケア商品を提供しているアズマ商事の「和漢草 とろみ育毛剤」でした。ネットでも購入可能です。

値段の違いはわかりませんが、使った感じも悪かったという記憶もなかったのでお試しでポチり。

2回目はお得な3本セットを購入しました。


和漢草 とろみ育毛剤

和漢草とろみ育毛剤の有効成分は、

  • 甘草(グルチルリチン酸ジカリウム)
  • 高麗人参(ニンジンエキス)
  • センブリエキス

と植物由来のものです。

それ以外にも多くの植物由来の成分が使われています。主な成分は下表となります。

柔軟成分 オウバクエキス、アロエエキス、ビワ葉エキス、植物性スクワラン
保湿成分 ゴボウエキス、 クララエキス、ドクダミエキス、ヒアルロン酸ナトリウム
血行促進 ショウキョウエキス、セージ水

特徴

和漢草とろみ育毛剤の特徴は、和漢草が使われているということと、もうひとつは「とろみ」があるので液垂れしないので、生え際などにも塗布しやすいです。

また、とろみがあるので整髪料を使わなくても髪の毛がまとまります。香料が含まれていますが、ほとんど匂いもないのもありがたいところです。


使い方

朝晩、塗布してから頭皮用スカルプブラシ ケンザンでマッサージしています。

uka スカルプブラシ ケンザン バリカタ

uka Kenzan(ケンザン)は、洗髪のときにも使っていますが、育毛剤を頭皮で伸ばしてマッサージするのにもちょうどよく、気持ちよいです。

朝と晩で1日2回、頭頂部と生え際に塗布していますが、2ヶ月で1本使い切る感じです。

入浴後はドライヤーで乾かしてから塗布して、ケンザンでマッサージしています。頭皮マッサージにはバリカタがオススメです


低温ドライヤー

一般的なドライヤーは100-120℃ぐらいですが、熱による毛髪や頭皮へのダメージを避けるためにスカルプモード(低温ドライヤー)のモデルを選択しましょう。

スカルプモードを搭載したドライヤーには、パナソニック ナノケアシャープ プラズマクラスター ドライヤーなどがありますが、シャープ プラズマクラスター ドライヤー IB-HP9は値段的にもオススメです。

冷風を含めて4モードあります。

  1. 根元を乾かす HOT 約95℃
  2. 表面を乾かす WARM 約75℃
  3. 地肌を乾かす SCALP 約50℃
  4. 仕上げる COLD 冷風

地肌と髪に優しい低めの温度でも「アマツバメの羽にならった空気抵抗の少ないファン」が生み出す風力で、髪と地肌を短時間で乾かしてくれます。

ドライヤーでよく髪と地肌を乾かしてから、育毛剤を塗布して頭皮マッサージをしましょう。

Post Date:2022年2月2日 

土鍋でつくる「焼きいも」は美味しい

焼き芋(紅はるか)

ドンキに始まり、100円ローソン、ファミマでも販売されるようになり、手軽にそして安価に食べられるようになった焼き芋、寒くなってくると恋しくなります。

焼き芋を買って帰ってくるとワクワクしますが、自宅で美味しい焼き芋が作れれば、熱々の焼き芋を「ハフハフ」しながら食べられて感動倍増です。

一芸調理機器「土鍋薫製器」に惹かれる で紹介している 長谷園 燻製土鍋「いぶしぎん」があれば簡単に美味しい焼きイモができます。

また、「もっと野菜を、美味しく野菜を」と購入した 長谷園 ヘルシー蒸し鍋「どんぐり」 も空焚きができる土鍋なので、同じように焼き芋がつくることができます。

付属のレシピにも「焼きいも」が掲載されています。

焼き芋作りにも、日本が誇る遠赤外線、余熱調理ができる調理器具の土鍋は最適です。


焼き芋第一次ブームは江戸時代

甘くてホクホクの焼き芋は、江戸っ子に冬のおやつとして愛されていたようです。

初期の焼き芋は、かまどに焙烙(ほうらく:素焼きの土鍋)を置いて上から重い木の蓋をして蒸し焼きにして作られていたとあります。

焙烙(ほうらく)

その後、川越で有名な「壺焼き」や「かまど焼き」、そして戦後に「石焼き芋」が満を辞しての登場です。

焼き芋の歴史については、焼き芋小百科 | 日本いも類研究会 の 江戸・東京の焼き芋屋の移り変わり に詳しく記載されています。


焼き芋に合うサツマイモは?

いも・でん粉に関する資料:農林水産省 に”かんしょ(さつまいも)"普及状況が掲載されていて、作付け面積では、

  1. 黄金千貫(コガネセンガン)
  2. 紅はるか
  3. 紅あずま

の順番です。

黄金千貫は九州で生産されているサツマイモで「いも焼酎」の原料として使われています。「紅はるか」は、ねっとり系の「紅あずま」は、ほくほく系の代表格です。

さつまいもMiNi白書 - 品種と特性 | 日本いも類研究会 には、多くのサツマイモの品種が掲載されていますが、近所のスーパーで購入できる何種類かのサツマイモを焼き芋にして食べ比べてみました。

食感水分量甘さ品種
ほくほく少なめ弱い紅あずま、鳴門金時
しっとり多い控えめシルクスイート
ねっとり多め強い紅はるか、安納芋

スイーツに近く冷めても甘くて美味しい「ねっとり系」の「紅はるか」や「安納芋」の人気があるようですが、ホクホクとした「紅あずま」も捨てがたい存在です。

先にあげた安価な焼き芋を提供してくれている各社では、下記のサツマイモが使われています。

店舗品種
ドンキ紅はるか
ファミマ紅はるか、シルクスイート
100円ローソン紅あずま、安納芋

ホクホク系の焼き芋(紅あずま)が扱われているのは100円ローソンだけということからも、甘いしっとりとした焼き芋に人気であることが窺えます。

入手しやすい「紅あずま」と「紅はるか」で「ホクホク」と「ねっとり」の焼き芋を比べてみてください。


焼き芋が甘くなる理由

焼き芋が甘くなるのは、熱によって糊状となったデンプンが、β-アミラーゼによって分解されて麦芽糖になるからだとあります。

しかし、β-アミラーゼは 80℃を超えると活性が低下するとあります。サツマイモのデンプンの糊化は70-75℃で始まるとあるので、70∼80℃の温度で長時間加熱するのが甘い焼き芋作りの秘訣となります。

焙烙で熱した江戸時代も、現代の石焼き芋も、サツマイモが高温にならないようにじっくりと時間をかけて加熱するという、サツマイモを甘くするのに理にかなった調理方法です。

空焚きができる土鍋にも、あるので、この蓄熱効果で美味しい焼き芋ができるのです。


土鍋で焼き芋

土鍋は、土で作られていて、窯で焼かれると中に空気を含んだ小さな穴がたくさんできるために、金属製の調理器具と比べて、緩やかに温度が高まり、冷めにくいと特徴があります。

東京ガスの都市生活レター Vol005. 土鍋の余熱を使って料理上手に!に土鍋で沸かしたお湯の火を止めてからの時間経過と温度の掲載がありました。

図1:各鍋における沸とう消火後の水温変化と時間(2020年9月 東京ガス調べ)

土鍋の蓄熱という特徴から、余熱でも「デンプンが糊化して糖化する温度」で調理することができます。


芋をホイルで包むべきか?

オーブントースターで焼き芋をつくるための片面が黒いホイルが販売されています。

土鍋を使う場合には黒いホイルを使う必要性はありませんが、ホイルで巻いた方がアルミホイルが満遍なく熱を伝えてくれるので、調理時間を短くできます。

しかし、ホイルで巻くとサツマイモから出た水分が飛ばないので皮のパリッと感がでません。サツマイモを直接土鍋に入れた方が、美味しく焼き芋ができます。

サツマイモを土鍋に直に入れると焦げ付く

サツマイモを土鍋に直接いれたときの難点は、皮が土鍋に焦げ付いて洗うのが手間です。

と、いうことからホイルを下に敷いて焼き芋を作るようになりました。これなら土鍋に焦げ付かないし、サツマイモの皮もパリッと焼き上がります。

サツマイモの下にアルミホイルを敷くと焦げ付かない

カットしたサツマイモはホイルに包む

江戸時代も○焼き(まる焼き)の方が好まれたらしいですが、大きなサツマイモで土鍋に入らない場合にはカットしてアルミホイルに包みます。

サツマイモをカットしたときは包んだ方が美味しくできます。

カットしたサツマイモはホイルに包む

出来上がりは、こんな感じです。

カット焼き芋

これはこれで十分に美味しい焼き芋ですが、どちらが好きかと問われれば○焼き(まる焼き)です!


土鍋で焼き芋のレシピ

土鍋にアルミホイルを敷きます。その上に洗って水気を切ったサツマイモを投入。

  1. 強火で20-30分
  2. 余熱で15分

で、完成です。サツマイモを途中でひっくり返す必要もありません。

下写真は、シルクスィート(220g)の焼き芋です。ちょっと大きめだったので、強火で25分、余熱 15分で調理しました。

土鍋で作った焼きいも(シルクスイート)

外側は焦げてパリパリですが、中は、シットリとしていて、程よい甘味です。

しっとり系のシルクスイート

加熱時間は、芋の大きさや品種によっても異なります。ねっとり系は長時間調理した方が甘さが増します。箸が簡単に刺さる硬さでなければ、追い焚きをして様子をみてください。

ねっとり甘い焼き芋もよし、ホクホクの焼き芋も美味しいです。

「いぶしぎん」は、普段は燻製料理に、「どんぐり」は蒸し料理に使っていますが、空焚きできる土鍋があると焼き芋以外にもローストポークやローストビーフも美味しくできます。


焼き芋好きのための本

一般財団法人 日本いも類研究会 の「焼きいもが、好き!」はまさに焼きいも好きのための本です。焼きいもを極めたいのであれば必読です。小ネタ、コラムも楽しく読めます。

Yaki-Imoが、いつか世界中で愛される日本食になりますように。

象と散歩:人気の投稿(過去7日間)