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>

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

関連記事

  1. Office関連

    “元に戻す”履歴に文字列をセットするPowerPointマクロ

    PowerPointマクロでは、Presentationオブジェクトの…

  2. Office関連

    ドラッグ&ドロップでExcelのアドインを登録するVBScript

    「ドラッグ&ドロップでWordのテンプレートを登録・解除する(VBS)…

  3. Office関連

    RSSの日付を変換するVBAマクロ

    RSSから取得した日付(「Wed, 20 Dec 2017 00:02…

  4. Office アドイン

    [Office用アプリ]User Agent他を調べてみました。

    ふと気になったので、Office 用アプリをローカル環境にインストール…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP