Les miZenables

ブログをメモ帳と勘違いしている

GoogleスプレッドシートとGoogle Apps Scriptで自前の単語帳を作る(第1回)

この「第1回」までに僕は数年かかりました。

このアイディア自体はGoogleで検索すると結構見つかるんだけど、実際に自分のところに導入できるかというとまた別だった。

最初は大変だった。プログラミングのプの字もわからない状態で、検索に検索を重ねて挫折し、親切な同志にご助力いただき、Skype越しに見てもらっていたが、当時は何か魔法でも見ているかのようだったことを覚えている。

語学の試験は年に少なくとも二回以上あって、その度に自分の語彙力の低さに絶望していた。翻訳のトライアルも含めれば、落ち込んだ回数は数えきれない。手書きの単語帳を作成したり、ノートを大量に作成したりはしていたが、やっぱり手間がかかるし、全然覚えられなかった。そういう事態にぶち当たる度、「スプレッドシートGoogle Apps Scriptを使ってうまいことできないものか」という気持ちになりはしたが、自分のレベルはそこまで達していないと諦めていた(そしてそのせいで余計に落ち込んだ)。

そこで、ドットインストールとかProgateで、HTMLとかCSSとかをやりはじめ、ProgateではJavaScriptPHPにも手をつける、という遠回りな方法を選ぶことにした。仕事を辞めたこともあって、でも精神的にやられていた時期からは回復しつつあったこともあって、時間はできていたし、目標がちゃんとあった。

それは一つに、何らかのテクニカルなスキルが欲しかったというのもあるけど、何よりあの魔法のような出来事を自分の手でもやってみたかった。今はようやく、あの日の気持ちをひとつ実現できたことになる。同志、僕はやりましたよ。

成果物

検討

今回は何を書いたら良いのかを検討するために、マクロの記録を活用した。これは方針を確認する上では有効だったけど、自分の思い通りには動いてくれなかった。ここで今日はだいぶ時間がかかってしまった。

このように色々と挙動を見ていたんだけど、この”getCurrentCell()”だの”offset(x, x)”だのでだいぶ惑うことになった。

結局、そういう遠回りをしなくても、直接欲しい列を操作すれば良いと気づき、解決を見た。あー長かった。

f:id:orikuramizen:20190519203800p:plain

フォームで単語を送信すると、こんな感じでスプレッドシートに反映されて、GoogleTranslateで翻訳してくれるようになった。精度はちょっと低いけど、これは今度の課題だ。とりあえず、今はエラーが返ってくることもなく、情報を集めることができて、一覧にできているので、第一ステージはクリアって感じ。

今後の展望

Ankiというアプリがある。ああいうのを自分でやりたい。今のところ漠然と思い描いているのは以下の通り。

  • テストを作る
  • 自分の苦手部分を炙り出す
  • WebAPI?などを使えるようにして、より正しい意味をフェッチしてこれるようにする
  • 品詞を分類できるようにする、原形を取り出せるようにする

いやほんと目の前で動くものできるとマジで楽しいですね!!! TRUE →訳、TRUE →訳、TRUE →訳、って続いたときガッツポーズとりましたもん。これは楽しい。

参考にさせていただいたサイト

今回はこちらの記事を参考にさせていただきました。おかげさまでようやくスタートラインに立つことができました。この場を借りてお礼申し上げます。

【初心者向けGAS】for文を使ったスプレッドシートの繰り返しの超基本 https://tonari-it.com/gas-for/ tonari-it.com