11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ateam Brides Inc.Advent Calendar 2021

Day 13

語学用のフラッシュカードをGASを使ってスプレッドシートから一括生成する

Last updated at Posted at 2021-12-12

Ateam Brides Inc. Advent Calendar 2021の13日目は
株式会社エイチームブライズの川村が担当します!

#韓国語の単語を勉強したい
韓国語ペラペラ男子を目指している私は、
毎年春と秋に行われるハングル能力検定を受けるために日々勉強しています

韓国語って日本語と似た言語体系であることから、文法はなんとなく分かるんですが
単語に関しては何回もハングルに触れない限りは覚えることができないんですよね...。

そう、単語だけは単純な暗記勝負なんです。

##単語帳を使っても良いが

私も学生時代は英単語帳をボロボロになるまで使っていましたが、
今どき紙媒体で学習するのもちょっとね...

しかも単語帳には「既に覚えた単語をスキップできない」という弱点があり
単語帳で学習が進めば進むほど非効率になってしまいます。

##スプレッドシートと連携したフラッシュカードを作る

そこで今回はスプレッドシートで未修得の単語を管理しながら
それを基にフラッシュカードを作ることにします

###スプレッドシートに覚えたい単語リストを用意する

まずはスプレッドシートに覚えたい単語リストを用意しました!
こんな感じで↓

image.png

そもそも、この単語データベースを用意するのが大変な感じはありますが
幸い韓国語の場合は単語リストを配布しているサイトがあったりします。

Googleスライドにテンプレートを用意する

こんな感じで1枚テンプレートになるスライドを準備しましょう!
そして、それぞれの変数が代入される箇所に {furigana} {kr} {jp}などと記入しておきます

image.png

のちほどGASを使って
①このスライドを複製して②それぞれの変数の中身を置き換える、という処理をします

###GASを記入する

スプレッドシートからGASで書きます
普段あまりお目にかからないSlidesAPIのreplaceAllTextという関数をリクエストしています

Requests | Slides API | Google Developers

処理自体はいたってシンプルです!

コード.gs
function myFunction() {

  //スプレッドシートの定義
  var spreadsheet = SpreadsheetApp.openById('SpreadsheetのID');
  var sheet = spreadsheet.getSheetByName("Spreadsheetのシート名");
  var lastRow = sheet.getLastRow()

  //スライドの定義
  var slides = SlidesApp.openById("GoogleSlideのID");
  var firstSlide = slides.getSlides()[0];

//スプシのセルの値を取得->スライドにコピーを繰り返す
  for (var i=2; i<=lastRow; i++){
    var kr = sheet.getRange(i,2).getValue();
    var jp = sheet.getRange(i,4).getValue();
    var furigana = sheet.getRange(i,3).getValue();
    
    var insertedSlide = slides.insertSlide(1,firstSlide);
    insertedSlide.replaceAllText("{kr}",kr);
    insertedSlide.replaceAllText("{jp}",jp);
    insertedSlide.replaceAllText("{furigana}",furigana);
  }

}

###GASを実行する

うまく実行完了すれば、大量のフラッシュカードが自動生成されます!

image.png

「ふむふむ、韓国語の飲み物は、漢字のウムニョから来てるんだな....」と。

あとは、PDFにするなり、画像形式でエクスポートするなりして
iPadやスマホを使って通勤通学の電車内で勉強するだけですね!(これが一番難しい)

#まとめ

今回は、GASを使って語学学習に役立つフラッシュカードを作ってみました!

弊社ではあまりプレゼン資料を作る機会が少ないので、実業務に役立つか....は未知数ですが
韓国語とウェブマーケター必携のGASスキルが微妙に上がったのは良いことです^^

少なくとも、スプレッドシートにある名簿から自己紹介スライドを大量生成したい人事や
語学向け聞き流し動画を作りたいYouTuberには需要があるかも知れません(ニッチですね)

さて、Ateam Brides Inc. Advent Calendar 2021は、早くも折り返しです!
明日の14日目は、@take_mがお送りします。どんなネタを用意してくるのか楽しみですね!!

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?