Office アドイン

Office 用アプリはソースコードが丸見え!?

サーバーサイドの処理はともかくとして、Officeドキュメントにアクセスする部分はJavaScriptで書くことになるので、基本的にはOffice用アプリのソースコードは丸見えです。
(あくまでもHTML + JavaScript構成のアプリの場合)

そのため、ユーザーにソースコードを見られたくない場合には「Microsoft Ajax Minifier」等のソースコード軽量化ツールで難読化しておくことをお薦めします(Microsoft Ajax Minifierの使い方は「Microsoft Ajax MinifierでJavaScriptを縮小化しよう」参照)。

下記は上が軽量化前のソースコード、下が軽量化後のソースコードになりますが、その差は一目瞭然です。

Office.initialize = function(reason){}
$(function(){
    $("#datepicker").datepicker({
        beforeShowDay: function(date) {
            var result;
            var dd = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate();
            var hName = ktHolidayName(dd);
            if(hName != "") {
                result = [true, "date-holiday", hName];
            } else {
                switch (date.getDay()) {
                    case 0:
                        result = [true, "date-holiday"];
                        break;
                    case 6:
                        result = [true, "date-saturday"];
                        break;
                    default:
                        result = [true];
                        break;
                }
            }
            return result;
        },
        onSelect: function(dateText, inst) {
            Office.context.document.setSelectedDataAsync(dateText);
        }
    });
});
Office.initialize=function(){},$(function(){$("#datepicker").datepicker({beforeShowDay:function(n){var t,r=n.getFullYear()+"/"+(n.getMonth()+1)+"/"+n.getDate(),i=ktHolidayName(r);if(i!="")t=[!0,"date-holiday",i];else switch(n.getDay()){case 0:t=[!0,"date-holiday"];break;case 6:t=[!0,"date-saturday"];break;default:t=[!0]}return t},onSelect:function(n){Office.context.document.setSelectedDataAsync(n)}})})

もっとも、軽量化してコードを読みづらくしたところでコードが丸見えなのは変わりないし、難読化したことで動作しなくなる場合も有るので必ずしも難読化することが良いとは限らないのですが、そのままコードを公開するよりは多少はマシになるのではないかと思います。気休め程度にはなります。

[Office用アプリ]アプリ審査を通過するためのポイント前のページ

[Office用アプリ]プロンプトや選択範囲からバインドを追加する。次のページ

関連記事

  1. Excel

    PDFファイル上のフィールドの値を操作するVBAマクロ

    「PDFファイルに差し込み印刷するVBAマクロ」で、Acrobatを操…

  2. Office関連

    [VBA]DataObjectを使ったクリップボード操作が上手くいかない場合の対処法

    VBAマクロからクリップボードを操作する場合、定番となっているのがDa…

  3. Office関連

    [Office 2013]オンライン テンプレートを無効にする。

    前回の記事ではOffice 2013でSkyDriveを無効にする方法…

  4. Office関連

    Office 2010のオブジェクトリスト

    オブジェクト ブラウザーから取得できる、各Office 2010アプリ…

  5. Office関連

    ファイルをBase64エンコード・デコードするVBAマクロ

    以前書いたファイルのBase64エンコード・デコード処理を行うVBAマ…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP