読者です 読者をやめる 読者になる 読者になる

Excel 職人のつぶやき

エクセルをデータベース管理ツールとして活用するための、情報、技術などを発信していくサイトです。

自作ソフトにユーザー登録や認証機能をつけてプログラマの開発意欲を向上させよう。

Excel

プログラムを長期間使用すればするほど、プログラム開発者の利益が上がる仕組みができていますか。多くのソフトウェアには、その機能がありません。そのために受託開発のソフトウェア品質はどんどん落ちているのです。

 

このほどWindows XPのサポートがなくなったり消費税率が変わった時に、「えっ、Windows 7や消費税率変更に対応するだけでこんなに開発費がかかるの?」と思った方はいませんか。

f:id:muramoto1041:20141109194849j:plain

 

そうです、その原因も現在のソフト開発作業費の偏りにあるのです。開発作業時間により積算された見積もりによって受注した受託開発システムは、ユーザーの要求を満たしたうえでより開発時間を削減してシステムを完成させようとするのです。

 

長期間使用すれば利益が上がる仕組みにすることにより最初の開発費を抑え、使い続けてもらわないと利益が出ない仕組みを作ることが、今後のソフトウェアの品質を向上させると思っています。

 

ソフトウェアの品質をあげ、プログラマの開発意欲を向上させるためにライセンス認証プログラムを公開します。

 

システムを起動すると

このような画面でユーザー登録を促します。ユーザー登録をしなくても7日間は動作します。ユーザー登録をして運用番号を取得することでどんなユーザーが使用しているかを知ることができます。

f:id:muramoto1041:20141109182445p:plain

 

運用番号とは 

運用番号は、パソコン別に発行されます。ライセンスは1台のパソコンに1ライセンス必要な仕組みです。

f:id:muramoto1041:20141109182446p:plain

 

ユーザー登録画面

入力項目は、少ないほどユーザー登録人数が多くなります。入力項目は最小限にすることをお勧めします。

f:id:muramoto1041:20141109182447p:plain

 

自動返信メール

ユーザー登録をすると自動的に「運用番号」が返信メールで届きます。運用番号を登録することで、フォルダには「System_Free.txt」ファイルが作成されます。運用システムでは、このファイルの存在を確認してユーザー登録された情報を取得してください。

f:id:muramoto1041:20141109182448p:plain

 

エクセルのマクロの場合 

アプリケーションオブジェクトを使う方法

Sub RunObject()
    Dim xls As Object 'As Excel.Application
    Dim wkb As Object 'As Excel.Workbook
    Dim wFname As String
    Dim wDir As String

    wDir = ThisWorkbook.Path
    wFname = wDir & "\CheckLicensePGv1t.xla"

    Set xls = CreateObject("Excel.Application")
    Set wkb = xls.Workbooks.Open(wFname)
    Set wkb = Nothing
    Set xls = Nothing
End Sub

 

Shellコマンドを使う方法

Sub RunShell()
    Dim wFname As String
    Dim wDir As String
    Dim wCom As String
    Dim RetVal

    wDir = ThisWorkbook.Path
    wFname = wDir & "\CheckLicensePGv1t.xla"
    wCom = "C:\Program Files\Microsoft Office 15\root\office15\excel.exe """ &         wFname & """"

    RetVal = Shell(wCom, 1)
End Sub

 

ライセンス認証の結果は、ファイル名で取得 

ライセンス認証が行われると「System_True.txt」ファイルが、実行フォルダに作成されます。このファイルは、つねにシステム起動時に更新される仕組みになっています。 

f:id:muramoto1041:20141109212648p:plain

認証結果を判断するファイル名

1) System_True.txt・・・ライセンス認証済

2) System_False.txt・・・認証不可

3) System_Free.txt・・・ユーザー登録のみ、フリーライセンス

 

AccessVisualBasicでも、ほぼ同様のコードで実行することができます。

後日このページで、プログラムを公開します。