Office アドイン

[Office用アプリ]「あいさつ文の挿入」を作業ウィンドウアプリに移植してみる。

※ この情報はOffice 2013 カスタマー プレビュー版を元にしています。製品版では変更になる可能性がありますのでご注意ください。

最近はOffice用アプリの活用場面について色々と試行錯誤しているわけですが、今回はWordの「あいさつ文の挿入」機能を作業ウィンドウアプリに移植してみたいと思います。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script src="https://az88874.vo.msecnd.net/api/1.0/office.js"></script>
        <script>
            var m = new Array();
            Office.initialize = function (reason) {
                $(document).ready(function () {
                    init();
                    var d = new Date();
                    $("#selMonth").val(d.getMonth() + 1);
                    $("#selMonth").trigger("change");
                });
            }
            $(function(){
                $("#btnInsert").click(
                    function() {
                        var s = "";
                        if ($("#selSeason").val()) {s += $("#selSeason").val();}
                        if ($("#selSafety").val()) {s += $("#selSafety").val();}
                        if ($("#selThanks").val()) {s += $("#selThanks").val();}
                        Office.context.document.setSelectedDataAsync(s);
                    }
                );
                
                $("#selMonth").change(
                    function() {
                        appendList(this.value);
                    }
                );
            });
            function init() {
                for (var i=0; i<12; i++) {
                    m[i] = new Array();
                }
                //1月
                m[0][0] = "(なし)";
                m[0][1] = "新春の候、";
                m[0][2] = "初春の候、";
                m[0][3] = "頌春の候、";
                m[0][4] = "厳寒の候、";
                m[0][5] = "厳冬の候、";
                m[0][6] = "中冬の候、";
                m[0][7] = "寒冷の候、";
                m[0][8] = "麗春の候、";
                m[0][9] = "大寒のみぎり、";
                m[0][10] = "酷寒のみぎり、";
                m[0][11] = "寒さ厳しき季節、";
                
                //2月
                m[1][0] = "(なし)";
                m[1][1] = "余寒の候、";
                m[1][2] = "春寒の候、";
                m[1][3] = "晩冬の候、";
                m[1][4] = "向春の候、";
                m[1][5] = "解氷の候、";
                m[1][6] = "梅花の候、";
                m[1][7] = "余寒なお厳しき折、";
                
                //3月
                m[2][0] = "(なし)";
                m[2][1] = "早春の候、";
                m[2][2] = "春寒の候、";
                m[2][3] = "孟春の候、";
                m[2][4] = "春雨降りやまぬ候、";
                m[2][5] = "浅春のみぎり、";
                m[2][6] = "春寒しだいに緩むころ、";
                m[2][7] = "冬の名残のまだ去りやらぬ時候、";
                m[2][8] = "春光天地に満ちて快い時候、";
                m[2][9] = "春分の季節、";
                m[2][10] = "春色のなごやかな季節、";
                
                //4月
                m[3][0] = "(なし)";
                m[3][1] = "陽春の候、";
                m[3][2] = "春暖の候、";
                m[3][3] = "軽暖の候、";
                m[3][4] = "麗春の候、";
                m[3][5] = "春暖快適の候、";
                m[3][6] = "桜花爛漫の候、";
                m[3][7] = "花信相次ぐ候、";
                m[3][8] = "春眠暁を覚えずの候、";
                m[3][9] = "仲春四月、";
                m[3][10] = "春たけなわの今日この頃、";
                
                //5月
                m[4][0] = "(なし)";
                m[4][1] = "新緑の候、";
                m[4][2] = "薫風の候、";
                m[4][3] = "初夏の候、";
                m[4][4] = "立夏の候、";
                m[4][5] = "暮春の候、";
                m[4][6] = "老春の候、";
                m[4][7] = "晩春の候、";
                m[4][8] = "軽暑の候、";
                m[4][9] = "惜春のみぎり、";
                m[4][10] = "若葉の鮮やかな季節、";
                
                //6月
                m[5][0] = "(なし)";
                m[5][1] = "梅雨の候、";
                m[5][2] = "初夏の候、";
                m[5][3] = "短夜の候、";
                m[5][4] = "五月雨の候、";
                m[5][5] = "長雨の候、";
                m[5][6] = "薄暑の候、";
                m[5][7] = "向夏の候、";
                m[5][8] = "麦秋の候、";
                m[5][9] = "向暑のみぎり、";
                m[5][10] = "若鮎おどる季節、";
                
                //7月
                m[6][0] = "(なし)";
                m[6][1] = "猛暑の候、";
                m[6][2] = "酷暑の候、";
                m[6][3] = "炎暑の候、";
                m[6][4] = "盛夏の候、";
                m[6][5] = "大暑の候、";
                m[6][6] = "灼熱の候、";
                m[6][7] = "炎熱のみぎり、";
                m[6][8] = "甚暑のみぎり、";
                m[6][9] = "三伏のみぎり、";
                m[6][10] = "暑さ厳しき折から、";
                
                //8月
                m[7][0] = "(なし)";
                m[7][1] = "残暑の候、";
                m[7][2] = "残炎の候、";
                m[7][3] = "残夏の候、";
                m[7][4] = "暮夏の候、";
                m[7][5] = "季夏の候、";
                m[7][6] = "新涼の候、";
                m[7][7] = "秋暑厳しき候、";
                m[7][8] = "晩夏のみぎり、";
                m[7][9] = "処暑のみぎり、";
                m[7][10] = "残暑厳しき折から、";
                
                //9月
                m[8][0] = "(なし)";
                m[8][1] = "初秋の候、";
                m[8][2] = "仲秋の候、";
                m[8][3] = "錦秋の候、";
                m[8][4] = "寒露の候、";
                m[8][5] = "黄葉の候、";
                m[8][6] = "秋雨の候、";
                m[8][7] = "金風の候、";
                m[8][8] = "秋晴れの候、";
                m[8][9] = "菊薫る候、";
                m[8][10] = "秋たけなわの候、";
                m[8][11] = "紅葉の季節、";
                m[8][12] = "秋冷の心地よい季節、";
                
                //10月
                m[9][0] = "(なし)";
                m[9][1] = "秋冷の候、";
                m[9][2] = "仲秋の候、";
                m[9][3] = "錦秋の候、";
                m[9][4] = "寒露の候、";
                m[9][5] = "黄葉の候、";
                m[9][6] = "秋雨の候、";
                m[9][7] = "金風の候、";
                m[9][8] = "秋晴れの候、";
                m[9][9] = "菊薫る候、";
                m[9][10] = "秋たけなわの候、";
                m[9][11] = "紅葉の季節、";
                m[9][12] = "秋冷の心地よい季節、";
                
                //11月
                m[10][0] = "(なし)";
                m[10][1] = "晩秋の候、";
                m[10][2] = "暮秋の候、";
                m[10][3] = "向寒の候、";
                m[10][4] = "深冷の候、";
                m[10][5] = "菊花の候、";
                m[10][6] = "紅葉の候、";
                m[10][7] = "初霜の候、";
                m[10][8] = "氷雨の候、";
                m[10][9] = "枯れ葉舞う季節、";
                
                //12月
                m[11][0] = "(なし)";
                m[11][1] = "寒冷の候、";
                m[11][2] = "師走の候、";
                m[11][3] = "初冬の候、";
                m[11][4] = "寒気の候、";
                m[11][5] = "霜気の候、";
                m[11][6] = "霜寒の候、";
                m[11][7] = "季冬の候、";
                m[11][8] = "歳晩の候、";
                m[11][9] = "歳末ご多忙の折、";
                m[11][10] = "心せわしい年の暮れ、";
            }
            
            function appendList(num) {
                $("#selSeason").empty();
                for (var i=0; i<m[num-1].length; i++) {
                    $("#selSeason").append('<option value="' + m[num-1][i] + '">' + m[num-1][i] + '</option>');
                }
            }
        </script>
        <style>
            html,body {
                margin:0;
                padding:0;
                font-family:Arial,sans-serif;
                font-size:0.9em;
            }
            table {
                width:250px;
                border-collapse:collapse;
            }
            div {
                width:240px;
                overflow-x:scroll;
            }
            #selSeason {
                width:240px;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <select id="selMonth" style="width:50px">
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                        <option value="11">11</option>
                        <option value="12">12</option>
                    </select>
                    月のあいさつ
            </tr>
            <tr>
                <td>
                    <select id="selSeason" size="8"></select>
                </td>
            </tr>
        </table>
        <br>
        <table>
            <tr>
                <td>安否のあいさつ</td>
            </tr>
            <tr>
                <td>
                    <div>
                        <select id="selSafety" size="8">
                            <option value="">(なし)</option>
                            <option value="貴社ますますご盛栄のこととお慶び申し上げます。">貴社ますますご盛栄のこととお慶び申し上げます。</option>
                            <option value="貴社ますますご清祥のこととお慶び申し上げます。">貴社ますますご清祥のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご清栄のこととお慶び申し上げます。">貴社いよいよご清栄のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご清祥のこととお慶び申し上げます。">貴社いよいよご清祥のこととお慶び申し上げます。</option>
                            <option value="貴社ますますご繁栄のこととお慶び申し上げます。">貴社ますますご繁栄のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご隆盛のこととお慶び申し上げます。">貴社いよいよご隆盛のこととお慶び申し上げます。</option>
                            <option value="貴社ますます御隆昌にてお慶び申し上げます。">貴社ますます御隆昌にてお慶び申し上げます。</option>
                            <option value="貴店ますますご発展のこととお慶び申し上げます。">貴店ますますご発展のこととお慶び申し上げます。</option>
                            <option value="貴行ますますご清栄のことお慶び申し上げます。">貴行ますますご清栄のことお慶び申し上げます。</option>
                            <option value="ますます御健勝のこととお慶び申し上げます。">ますます御健勝のこととお慶び申し上げます。</option>
                            <option value="時下ますますご清祥の段、お慶び申し上げます。">時下ますますご清祥の段、お慶び申し上げます。</option>
                            <option value="貴社ますますご盛栄のこととお慶び申し上げます。">貴社ますますご盛栄のこととお慶び申し上げます。</option>
                            <option value="貴社ますますご清祥のこととお慶び申し上げます。">貴社ますますご清祥のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご清栄のこととお慶び申し上げます。">貴社いよいよご清栄のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご清祥のこととお慶び申し上げます。">貴社いよいよご清祥のこととお慶び申し上げます。</option>
                            <option value="貴社ますますご繁栄のこととお慶び申し上げます。">貴社ますますご繁栄のこととお慶び申し上げます。</option>
                            <option value="貴社いよいよご隆盛のこととお慶び申し上げます。">貴社いよいよご隆盛のこととお慶び申し上げます。</option>
                            <option value="貴社ますます御隆昌にてお慶び申し上げます。">貴社ますます御隆昌にてお慶び申し上げます。</option>
                            <option value="貴店ますますご発展のこととお慶び申し上げます。">貴店ますますご発展のこととお慶び申し上げます。</option>
                            <option value="貴行ますますご清栄のこととお慶び申し上げます。">貴行ますますご清栄のこととお慶び申し上げます。</option>
                            <option value="ますます御健勝のこととお慶び申し上げます。">ますます御健勝のこととお慶び申し上げます。</option>
                            <option value="時下ますますご清祥の段、お慶び申し上げます。">時下ますますご清祥の段、お慶び申し上げます。</option>
                        </select>
                    </div>
                </td>
            </tr>
        </table>
        <br>
        <table>
            <tr>
                <td>感謝のあいさつ</td>
            </tr>
            <tr>
                <td>
                    <div>
                        <select id="selThanks" size="8">
                            <option value="">(なし)</option>
                            <option value="平素は格別のご高配を賜り、厚く御礼申し上げます。">平素は格別のご高配を賜り、厚く御礼申し上げます。</option>
                            <option value="日頃は大変お世話になっております。">日頃は大変お世話になっております。</option>
                            <option value="平素は格別のお引き立てをいただき、厚く御礼申し上げます。">平素は格別のお引き立てをいただき、厚く御礼申し上げます。</option>
                            <option value="平素は格別のお引き立てを賜り、ありがたく厚く御礼申し上げます。">平素は格別のお引き立てを賜り、ありがたく厚く御礼申し上げます。</option>
                            <option value="平素は当店を御利用いただき御厚情のほど、心より御礼申し上げます。">平素は当店を御利用いただき御厚情のほど、心より御礼申し上げます。</option>
                            <option value="毎々格別のご愛顧を賜り、厚く御礼申し上げます。">毎々格別のご愛顧を賜り、厚く御礼申し上げます。</option>
                            <option value="平素はひとかたならぬ御愛顧を賜り、厚く御礼申し上げます。">平素はひとかたならぬ御愛顧を賜り、厚く御礼申し上げます。</option>
                            <option value="平素はひとかたならぬ御愛顧を賜り、ありがとうございます。">平素はひとかたならぬ御愛顧を賜り、ありがとうございます。</option>
                            <option value="平素は格別のご厚誼にあずかり、厚く御礼申し上げます。">平素は格別のご厚誼にあずかり、厚く御礼申し上げます。</option>
                            <option value="日頃は格別のお引き立てをいただき、ありがたく御礼申し上げます。">日頃は格別のお引き立てをいただき、ありがたく御礼申し上げます。</option>
                            <option value="毎度格別のお引き立てを賜り、厚く御礼申し上げます。">毎度格別のお引き立てを賜り、厚く御礼申し上げます。</option>
                        </select>
                    </div>
                </td>
            </tr>
        </table>
        <br>
        <input id="btnInsert" type="button" value="あいさつ文の挿入">
    </body>
</html>

上記コードの通り、リストボックスで選択した文字列をそのまま文書に挿入するだけなので、特別複雑なことはしていません。
実際に使ってみた感想ですが、使い勝手はなかなか良かったです。
上記のような定型文の挿入には作業ウィンドウアプリは向いているかもしれません。

[Office用アプリ]Microsoft Translator APIを利用して選択文字列を翻訳する。前のページ

[Office用アプリ]ユーザー設定を保存する。次のページ

関連記事

  1. Office関連

    Excelのアイデア機能でグラフやピボットグラフを一発作成

    Insider版のExcelに「アイデア」機能が追加されました。…

  2. Office関連

    指定したスライドにユーザー設定レイアウトを適用するPowerPointマクロ

    PowerPointにはオリジナルのレイアウト(ユーザー設定レイアウト…

  3. Office アドイン

    Office 365でVisio JavaScript APIsを試してみました。

    昨年末にVisio Onlineの機能をJavaScriptで拡張する…

  4. Office関連

    PDFファイルに差し込み印刷するVBAマクロ

    このページにもあるように、AcrobatはOLEオートメーション機能に…

  5. Office関連

    WordBasicマクロの資料

    Word 97でVBA機能が搭載される以前のWordでは、WordBa…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP