Ateam Brides Inc. Advent Calendar 2021の13日目は
株式会社エイチームブライズの川村が担当します!
#韓国語の単語を勉強したい
韓国語ペラペラ男子を目指している私は、
毎年春と秋に行われるハングル能力検定を受けるために日々勉強しています
韓国語って日本語と似た言語体系であることから、文法はなんとなく分かるんですが
単語に関しては何回もハングルに触れない限りは覚えることができないんですよね...。
そう、単語だけは単純な暗記勝負なんです。
##単語帳を使っても良いが
私も学生時代は英単語帳をボロボロになるまで使っていましたが、
今どき紙媒体で学習するのもちょっとね...
しかも単語帳には「既に覚えた単語をスキップできない」という弱点があり
単語帳で学習が進めば進むほど非効率になってしまいます。
##スプレッドシートと連携したフラッシュカードを作る
そこで今回はスプレッドシートで未修得の単語を管理しながら
それを基にフラッシュカードを作ることにします
###スプレッドシートに覚えたい単語リストを用意する
まずはスプレッドシートに覚えたい単語リストを用意しました!
こんな感じで↓
そもそも、この単語データベースを用意するのが大変な感じはありますが
幸い韓国語の場合は単語リストを配布しているサイトがあったりします。
Googleスライドにテンプレートを用意する
こんな感じで1枚テンプレートになるスライドを準備しましょう!
そして、それぞれの変数が代入される箇所に {furigana}
{kr}
{jp}
などと記入しておきます
のちほどGASを使って
①このスライドを複製して②それぞれの変数の中身を置き換える、という処理をします
###GASを記入する
スプレッドシートからGASで書きます
普段あまりお目にかからないSlidesAPIのreplaceAllText
という関数をリクエストしています
処理自体はいたってシンプルです!
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を実行する
うまく実行完了すれば、大量のフラッシュカードが自動生成されます!
「ふむふむ、韓国語の飲み物は、漢字の飲料水から来てるんだな....」と。
あとは、PDFにするなり、画像形式でエクスポートするなりして
iPadやスマホを使って通勤通学の電車内で勉強するだけですね!(これが一番難しい)
#まとめ
今回は、GASを使って語学学習に役立つフラッシュカードを作ってみました!
弊社ではあまりプレゼン資料を作る機会が少ないので、実業務に役立つか....は未知数ですが
韓国語とウェブマーケター必携のGASスキルが微妙に上がったのは良いことです^^
少なくとも、スプレッドシートにある名簿から自己紹介スライドを大量生成したい人事や
語学向け聞き流し動画を作りたいYouTuberには需要があるかも知れません(ニッチですね)
さて、Ateam Brides Inc. Advent Calendar 2021は、早くも折り返しです!
明日の14日目は、@take_mがお送りします。どんなネタを用意してくるのか楽しみですね!!