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関連

    [Office 2013]SkyDriveを無効(非表示)にする。

    「Office 2013 SkyDrive 無効」というキーワードで検…

  2. Office アドイン

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

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  3. Office関連

    関数一覧(Excel 2013 Customer Preview)

    関数の挿入ダイアログから抽出したExcel 2013 Customer…

  4. Office関連

    外部アプリケーションのコンボボックスの内容を取得するVBAマクロのサンプル

    Q&Aサイトに下記質問がありました。(この質問も何となく似たような…

  5. Office関連

    オフィス祭り 2018 in 東京が9月15日(土)に開催されます。

    突然ですが、私はMicrosoft Officeが大好きです。20…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP