
Ankiカードの作成がめんどくさい。
という悩みを抱えていましたが、無事に解決できました!
Ankiカード作成をExcelマクロで自動化
以下のようにして、解決しました。
1.事前知識
以下の記事をふまえたものになります。




2.使用したもの
・Excel マクロ
・kindle メモとハイライト
3.手順
・Ankiに登録する情報をExcelに転記
・Excel内の修正作業を自動化
・Ankiに登録
①準備
まずは、Ankiに登録したい情報をExcelに転記します。
ここでは、kindleのメモとハイライトを使用します。
上記画像のようにAnkiに登録したい情報をコピーします。
Excelにペーストします。
このままでは、余分なセルが多いため、正しくAnkiに登録できません。そのため、余分なセルを削除する必要があります。
以下、削除する作業を自動化してみます。
②コード記入と実行
下記のコードを記入することで削除作業を自動化します。
Sub Ankiカード作成() ' ' Ankiカード作成 Macro ' ' Cells.Select ActiveSheet.Range("$A$1:$B$200").RemoveDuplicates Columns:=Array(1, 2), Header _ :=xlNo Rows("2:2").Select Selection.Delete Shift:=xlUp Range("B1").Select Selection.AutoFilter ActiveSheet.Range("$B$1:$B$200").AutoFilter Field:=1, Criteria1:="=青色*", _ Operator:=xlAnd Rows("2:200").Select Selection.Delete Shift:=xlUp ActiveSheet.ShowAllData Cells.Select Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2 Columns("A:B").Select Selection.ColumnWidth = 30 With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Range("B1").Select End Sub
開発>Visual Basic
をクリック。
記入し終えたら、実行します。
③内容確認
内容を確認しましょう。
余分なセルが削除され、かつ、列幅とセルの書式が変更されています。
Ankiに登録する際は、問題部分と解答部分が必要となります。
そのため、上記画像のように、A列を問題部分、B列を解答部分としています。
※A列の内容部分は手動で作成しました。
CSV形式で保存します。
④Ankiに登録
作成したCSVファイルをAnkiに登録していきます。
「Import File」をクリック。
先ほど作成したCSVファイルを選択し、「開く」をクリックします。
Deck欄をImport先に設定。
「Field 1 of file is:」と「Field 2 of file is:」が上記画像のようになっていることを確認して、「Import」をクリックします。
ブラウザより、カード内容を確認します。
上記画像のように、Front欄に問題部分、Back欄に解答部分が記入されていれば成功です。
このように、Excelのマクロ機能を使用することで、Ankiカードの作成を一部自動化できます。
4.まとめ
本記事のまとめです。
5.参考文献


6.関連記事



コメント