Skip to content

Instantly share code, notes, and snippets.

@hidex7777
Created November 9, 2014 08:22
Show Gist options
  • Save hidex7777/ac581b2dad0e10c4dd95 to your computer and use it in GitHub Desktop.
Save hidex7777/ac581b2dad0e10c4dd95 to your computer and use it in GitHub Desktop.
GoogleIME用辞書書き出しスクリプト
//スプレッドシートに
//A列:よみ
//B列:単語
//C列:品詞
//D列:コメント
//の順に書く。1行目は「よみ」「単語」「品詞」「コメント」とか書いておく。
//コメントは空欄でもよい。
function onOpen() {
//起動と同時にスクリプトメニュー追加
SpreadsheetApp.getUi().createMenu('マクロ実行').addItem('辞書書き出し', 'createDic').addToUi();
}
function createDic() {
var sheet = SpreadsheetApp.getActiveSheet();
var doctext = "";
var ui = SpreadsheetApp.getUi();
var category = [
"名詞", "短縮よみ", "サジェストのみ", "固有名詞", "人名", "姓", "名", "組織", "地名",
"名詞サ変", "名詞形動", "数", "アルファベット", "記号", "顔文字", "副詞", "連体詞",
"接続詞", "感動詞", "接頭語", "助数詞", "接尾一般", "接尾人名", "接尾地名",
"動詞ワ行五段", "動詞カ行五段", "動詞サ行五段", "動詞タ行五段", "動詞ナ行五段",
"動詞マ行五段", "動詞ラ行五段", "動詞ガ行五段", "動詞バ行五段", "動詞ハ行四段",
"動詞一般", "動詞カ変", "動詞サ変", "動詞ザ変", "動詞ラ変", "形容詞", "終助詞", "句読点", "独立語", "抑制単語"
];
//範囲走査してA, B, C列のセルに空欄があればアラート出して終了
//行数ループ、ファイルに書き出す内容変数に追加していく。行端は改行。
for (var i = 2; i < sheet.getLastRow(); i++) {
//A列(よみ)
if (sheet.getRange(i, 1).getValue() != '') {
doctext = doctext + sheet.getRange(i, 1).getValue() + "\t";
} else {
ui.alert("空欄のセルがあります。");
return false;
}
//B列(単語)
if (sheet.getRange(i, 2).getValue() != '') {
doctext = doctext + sheet.getRange(i, 2).getValue() + "\t";
} else {
ui.alert("空欄のセルがあります。");
return false;
}
//C列(品詞)品詞配列とデータチェック、該当なしならアラート出して終了
if (sheet.getRange(i, 3).getValue() != '') {
var celcat = sheet.getRange(i, 3).getValue();
var valid = false;
//データチェック
for (var j = 0; j < category.length; j++) {
if (celcat == category[j]) {
doctext = doctext + celcat + "\t";
valid = true;
}
}
if (valid == false){
ui.alert("品詞名に誤りがあります。C列" + i + "行");
return false;
}
} else {
ui.alert("空欄のセルがあります。");
return false;
}
//D列(コメント)空欄でもよい
doctext = doctext + sheet.getRange(i, 4).getValue() + "\n";
}
//ファイルに書き出す
DriveApp.createFile('dic.txt', doctext);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment