![見出し画像](https://assets.st-note.com/production/uploads/images/132002409/rectangle_large_type_2_d111566167456aac51f0c9a2f001d9a3.png?width=1200)
ANKIに覚えたいことをなるべく簡単に登録する仕組み【Googleスプレッドシート連携】
ANKIというすばらしい記憶アプリがあります。イメージとしては
記憶定着率を爆上げしてくれる、ものすごく優秀な単語帳アプリ
という感じです。登録するものは、英単語だけでなく、日本語でもなんでもOK。表に覚えたい項目を、裏に覚えたい内容を登録する感じです。
そのすばらしさや使い方のコツについては、各所で語られているのでそちらを参照してください。例えばこちら↓
確かにANKIはすばらしい記憶アプリなのですが、カードを入力するなど、使う環境を整えるまでのハードルが高く、挫折してしまう人も多いかと思います。そこで私が考えた最強の「素早く記録してANKIへの登録する仕組み」をご紹介します。作業環境は iPhone+Mac ですのでよろしくお願いします。
以下、やることを説明していきます。
1. Googleスプレッドシートを準備する
1-1. Googleドライブにアクセスします。Googleのアカウントがない人は作ります
1-2. 画面左上の「+新規」ボタンを押して、新規フォルダを作成します。フォルダ名は「ANKI」にします
1-3. 画面左上の「+新規」ボタンを押して、新規のGoogleスプレッドシートを作成します。ファイル名は「ANKIインポート」にします
1-4. 開いているシートの名前を「ToAdd」にします(シート名の上で右クリックだったような)
1-5. 新しいシートを作り、そのシートの名前を「Added」にします
(これらの名前は後で使うので、変えないでください)
これで、こんな感じのシートができあがったかと思います
![](https://assets.st-note.com/img/1674625762814-EghPkuo7fe.png)
2. CSV書き出しのGAS(Google Apps Script)を作る
2-1. GAS作成:Gドライブ画面の左上「+新規」ボタンを押して「その他」の中の「Google Apps Script」を選択します。出てこない場合は、「その他」の中の「アプリを追加」からGoogle Apps Scriptを追加します。
やり方はこちらの説明↓が詳しいので参考にしてください。
2-2. プロジェクト名は好きな名前、例えば「Anki用CSV出力」に変更します。やり方は上のページ↑にあります。
2-3. 編集エリアに以下の内容をコピペします。自分でも何をやっているのか思い出せません。
// https://moripro.net/gas-sheet-to-csv/
function doPost(e) {
// Create CSV
// 初回のみ、Tokenを取得するために実行する。2回目以降は不要
// Logger.log(DriveApp.getRootFolder().getName());
// Logger.log(ScriptApp.getOAuthToken());
var sheetName = 'ToAdd'; //CSVファイルにするシート名を指定
// var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = "スプレッドシートIDをここにペースト"; // スプレッドシートID
var ss = SpreadsheetApp.openById(spreadsheetId);
var sheet = ss.getSheetByName(sheetName);
//データ範囲を二次元配列で取得
var values = sheet.getDataRange().getValues();
var myRange = sheet.getDataRange()
//データにカンマが入っているとcsvがおかしくなるので置換
for (const [i, record] of values.entries()) {
for (const [j, value] of record.entries()) {
values[i][j] = value.replace(",","、");
}
}
Logger.log(values)
//二次元配列を¥n区切りの文字列に変換
var csv = values.join('\n');
Logger.log(csv)
//Blobオブジェクトの作成
let today = Utilities.formatDate(new Date(),"JST","yyyyMMdd");//今日の日付を取得yyyy-MM-dd方式
var blob = Utilities.newBlob(csv, MimeType.CSV, today + sheetName + '.csv');
//CSVファイルの保存先フォルダを指定
var id = 'フォルダIDをここにペースト'; //フォルダID
var folder = DriveApp.getFolderById(id);
//CSVファイルを作成
folder.createFile(blob);
// 移動先シート
var sheetName2 = 'Added'; //CSVファイルにするシート名を指定
var tosheet = ss.getSheetByName(sheetName2);
const rownum = myRange.getLastRow();
const colnum = myRange.getLastColumn();
Logger.log(rownum,colnum);
const lastrow = tosheet.getLastRow();
Logger.log = "最終行は" + lastrow;
// Addedシートに情報を貼り付け
tosheet.insertRowAfter(lastrow);
tosheet.getRange(lastrow+1,1,rownum,colnum).setValues(values);
// ToAddシートをクリア
sheet.clear();
}
上の内容には、2カ所修正するところがあります。
12行目の「スプレッドシートID」と39行目の「フォルダID」です。
スプレッドシートIDは「1. Googleスプレッドシートを準備する」で作成したスプレッドシートをブラウザで開き、URLのこの部分↓をコードの「スプレッドシートIDをここにペースト」のところにコピペします。
![](https://assets.st-note.com/img/1674626796124-O1RM0ZF84X.png?width=1200)
フォルダIDは、上で作成した「ANKI」フォルダをブラウザで開き、そのURLのこの部分↓を「フォルダIDをここにペースト」のところにコピペします。
![](https://assets.st-note.com/img/1674626563561-p3l6YawA48.png?width=1200)
これでコードもでき上がり。ここでおもむろに、Apps Script画面上の「▷実行」ボタンを押します。
画面下の実行ログのところがこんな感じに「Execution completed」とか「実行完了」とかなっていればOKです。エラーが出たら、気合いでなんとか修正します。
![](https://assets.st-note.com/img/1674628204532-XLiIVkjEKK.png)
右上の「デプロイ」をクリックします。これでスクリプトは準備完了です。
3. Macのショートカットを作成する
ここでMacからこのScriptを手軽に呼び出す方法を準備します。なんでもいいのですが、Macに標準で入っている「ショートカット」アプリを使ってみましょう。
3-1. /アプリケーション/ショートカット.app を起動します
3-2. 起動したら、画面上の「ファイル」メニューから「新規ショートカット」を選択します。
![](https://assets.st-note.com/img/1674627561002-ZU9fyP3TPA.png)
こんな感じの画面が開きますので、右上の検索窓に「url」と打ち込んで、右下に表示される候補の中から「URL」をダブルクリックします。
![](https://assets.st-note.com/img/1674627881769-MOfS1aUpTS.png?width=1200)
同様にすぐ下にある「URLの内容を取得」もダブルクリックします。するとこんな感じ↓になります。
![](https://assets.st-note.com/img/1674630131902-7jQpHOmPwj.png?width=1200)
1つ目の「URL」のところに入力するURLを用意します。Apps Scriptの編集画面に戻って、右上「デプロイ▽」を押して「デプロイを管理」に入ります。
![](https://assets.st-note.com/img/1674629035773-twmLfSaUIT.png)
次に出てくる画面の設定は
「種類の選択」→「ウェブアプリ」
「次のユーザーとして実行」→「自分」
「アクセスできるユーザー」→「全員」
として「デプロイ」を押します。
詳細はこちら↓を参考にしてください。
するとデプロイされた情報が表示されるので「ウェブアプリ」のところのURLの文字列をコピぺします↓
![](https://assets.st-note.com/img/1674629774576-lBa5Zbouan.png?width=1200)
やっと、作りかけの「ショートカット」アプリに戻って、ここ↓の1番目の項目の「apple.com」と書いてあるところをクリックして、先ほどコピーしたURLをペーストします。
![](https://assets.st-note.com/img/1674714779707-Ly6yTfFYnx.png?width=1200)
結果、以下のようになるはずです。
![](https://assets.st-note.com/img/1674698557790-xqC0ngIgZh.png?width=1200)
「ファイル」メニューの「名称変更」から、ショートカットの名前をつけます。上では「Anki CSV出力 Mac」となっていますが、ここは好きな名前でいいです。
画面右側の設定項目をいじった記憶はないのですが、もしかすると何か必要かもしれないので、うまく動作しない場合はチェックしてみてください。最初に実行したときになんか「許可しますか」とか聞かれて「はい」と答えると勝手にこうなった気がします。
![](https://assets.st-note.com/img/1674631128598-Ivq7AXXu2U.png)
作成したショートカットは、ショートカットアプリのメインウィンドウの「すべてのショートカット」の中に入っているかと思います。これを下のように「メニューバー」の中にドラッグして放り込むと、メニューバーのショートカットメニューの中に表れます(わかりにくいので下のスクショを見てください)。
![](https://assets.st-note.com/img/1674631180282-wa1IQxPjrp.png)
![](https://assets.st-note.com/img/1674714969655-YTicYXTsAv.png)
メニューバーからこのショートカットを選択すると、すばやく実行できます。効率化にこだわりがある人は、Alfredを使ったりBetterTouchToolを使ったりお好きにどうぞ。
Googleドライブのアプリをインストールしておくと、ホームディレクトリに「Google ドライブ」というフォルダができて、クラウドのGoogleドライブと同期されます。つまり、Googleドライブ内に書き出したCSVファイルが、勝手にローカルにも表れます。
うまくいっていたら、 Googleドライブ/マイドライブ/ANKI フォルダの中に
20230123ToAdd.csv
のようなCSVファイルができているはずです。
4. 書き出したCSVファイルをANKI(PC)で読み込む
ここまでで、覚えたいことをメモするGoogleスプレッドシートを準備し、メモした内容をCSVファイルに書き出すScriptを作り、それを実行するショートカットを作成できました。次は、書き出したCSVをANKIアプリに読み込む手順です。
PCのANKIアプリの「ファイル」メニューの「読み込む」で、 Google ドライブ/Anki に出現しているCSVファイルを指定すればOKです↓
![](https://assets.st-note.com/img/1674631759071-kPa23f8vSv.png)
「読み込む」を押すと、CSVファイルの内容がデフォルトのデッキに読み込まれます。他のデッキへ移動とか調整とかのカスタマイズは、お好みでどうぞ。
個人的には、こちらのテンプレートを使わせてもらっています。有料です。
https://note.com/satoken990/n/nd072256f6fda
5. 覚えたいことを日常的にGoogleスプレッドシートにメモする準備
あとは、覚えたいことがあったらパッとGoogleスプレッドシートにメモすることを習慣にすると良いです。これはスマホでできるといいですね。Googleスプレッドシートアプリをインストールして、開きやすいところに置いておくと良いです。
→ Googleスプレッドシート
![](https://assets.st-note.com/img/1674699016560-0bH369apEs.png?width=1200)
アプリを開くとこんな画面↓です。私の場合、ANKI登録シートをよくいじるので、最終閲覧のところに出てきていますが、初めての場合は上の検索窓をタップして…
![](https://assets.st-note.com/img/1674698214706-e5llo5Q1wC.png?width=1200)
「anki」とでも入力すれば、「ANKIインポート」のスプレッドシートが出てくるはずですので、タップして開きます。
![](https://assets.st-note.com/img/1674699123399-i0YNg9BIYB.png?width=1200)
「ToAdd」シートが開かれていることを確認して(デフォルト開いているとは思いますが一応)、A列に覚えたい単語や事柄、B列に回答を書いていきます。
![](https://assets.st-note.com/img/1674698215234-S1Ptt0xksS.png?width=1200)
メモする内容は英単語である必要はなく、覚えたい事柄であればなんでもいいです。例えば
A列「文章に含まれる単語を構成する文字を並べ替えても、多くの人間はその文章を問題なく読めてしまう現象とは?」
B列「タイポグリセミア現象(typoglycemia)」
とかでもいいわけです。
覚えたいことがたくさんある場合は、PCで「ANKIインポート」スプレッドシートを開いて「ToAdd」シートに書いていってもOKです。スマホよりパソコンの方が早いですよね。
何個か溜まってきたら、ショートカットを呼び出してCSVに書き出して、PCのANKIアプリに読み込ませて同期します。これで、登録した問題がスマホのANKIアプリによろしい頻度で出題されてきます。
これで、準備が整いました。あとは日々、以下のフローを回していくだけです。
スマホまたはPCから覚えたいことをGoogleスプレッドシートに登録
登録したスプレッドシートの内容をcsv書き出す(ショートカット利用)
書き出したCSVファイルをANKI(PC)で読み込む
スマホのANKIアプリで日々復習する
あまり難しい問題を出しすぎないのがコツですね。
さぁ、これであなたもみるみる物知りに!やったね!
読んでいただいて、ありがとうございます! もしサポートしていただけると、とても喜びます。 ありがたく、パソコン関係グッズ購入費、 作業時のカフェオレ購入費、などに使わせていただきます。