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

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  2. Excel

    住所から郵便番号を取得するVBAマクロ

    「住所から郵便番号 VBA」といったキーワード検索でのアクセスがあった…

  3. Office関連

    図形の結合を行うPowerPoint マクロ(ExecuteMsoメソッド編)

    Excel MVPの伊藤さんのブログで、PowerPointの「図形の…

  4. Office関連

    「あのコマンドどこだっけ? for Office 2013」の紹介

    Word MVPの新田さんのブログでも紹介していただいている自作フリー…

  5. Office関連

    未読メッセージ数を取得するOutlookマクロ

    Outlook 2007で追加されたFolderオブジェクトのUnRe…

  6. Office関連

    モヤさまのショウ君にいろいろ喋らせるVBAマクロ(2)

    前回に引き続き、HOYAサービス株式会社様が公開されている「Voice…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP