Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
校正支援Meryマクロの途中でXMLを返す
// -----------------------------------------------------------------------------
// 校正支援ツール
// 説明 選択した文字の校正支援する。
//
//
// 参考
// http://qiita.com/tnakagawa/items/3bce99d49b1aa3fc9a72
// http://qiita.com/tnakagawa/items/4b501c21abcd39f30fbe
// 使用API
// https://developer.yahoo.co.jp/webapi/jlp/kousei/v1/kousei.html
// -----------------------------------------------------------------------------
//■設定
/* filter_group
* 指摘グループの番号をコンマで区切って指定します。
1: 表記・表現の間違いや不適切な表現に関する指摘
  -誤変換、誤用、使用注意語、不快語(使用不適切な語や隠語など)、
  機種依存文字または拡張文字、外国地名、固有名詞、人名、ら抜き言
  葉 が指摘されます。
2: わかりやすい表記にするための指摘
  -当て字、表外漢字、用字(※) が指摘されます。
  ※日本新聞協会「新聞用語集」、共同通信社「記者ハンドブック」を
  主な参考としています。
3: 文章をよりよくするための指摘
  -用語言い換え、二重否定、助詞不足の可能性あり、冗長表現、
  略語 が指摘されます。
無指定の場合は、すべての指摘を返します。
*/
var FG="";
/* no_filter
* filter_groupで指定した指摘グループから除外する指摘を指定します。
指摘番号をコンマで区切って指定します。
1: 誤変換  例:人事異同→人事異動
2: 誤用  例:煙に巻く→けむに巻く
3: 使用注意  例:外人墓地→外国人墓地
4: 不快語  例:がんをつける→にらむ
5: 機種依存または拡張文字(EUC表示不可の場合も指摘されます) 例:○付き数字、一部の旧字体など
6: 外国地名  例:モルジブ→モルディブ
7: 固有名詞  例:ヤフーブログ→Yahoo!ブログ
8: 人名  例:ベートーヴェン→ベートーベン
9: ら抜き  例:食べれる→食べられる
10: 当て字  例:出鱈目、振り仮名
11: 表外漢字あり  例:灯籠→灯●
12: 用字  例:曖昧→あいまい
13: 用語言い換え(商標など)  例:セロテープ→セロハンテープ
14: 二重否定  例:聞かなくはない
15: 助詞不足の可能性あり  例:学校行く
16: 冗長表現  例:ことができます
17: 略語  例:ADSL→非対称デジタル加入者線(ADSL)
*/
var NF="";
// -----------------------------------------------------------------------------
var API_URL = "https://jlp.yahooapis.jp/KouseiService/V1/kousei";
var Appid = "dj0zaiZpPVUwTjhSdU1DcEtBUiZzPWNvbnN1bWVyc2VjcmV0Jng9NGY-";
//変更する場合はappidを取得してください
var Sentence = document.selection.Text;
var str = "";//出力される文字
var x = yahooapi(Appid,FG, NF, Sentence, API_URL);
var dom = xmlparse(x);
function yahooapi(Appid,FG,NF,Sentence,API_URL){
try {
// 「ServerXMLHTTP」オブジェクト生成
var http = new ActiveXObject("Msxml2.ServerXMLHTTP");
// 要求初期化
http.open("POST", API_URL, false);
// 要求ヘッダ設定
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// 要求
var params = { appid: Appid, filter_group: FG,no_filter: NF,sentence: Sentence};
http.send(escapeParams(params));
// 応答結果表示
var x = http.responseText;
document.selection.Text = x;
} catch (e) {
// エラーの場合
Alert("リクエスト失敗");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment