<インストール手順>
<バッチファイル>
<サンプルデモ>
<その他>
当サイトの情報をご利用になる場合は、全て自己責任でお願いします |
| 6.改善 その3<処理の無人化を考えてみました> |
さらなる改善のために、Windowsのタスク機能を使って、決められた時間に自動的に処理をする方法を考えてみました。
無人化するためには、Excelのデータ整形処理をVBAで自動化し、batファイルに組み込んで、タスクに登録するだけで良いのですが、動作の安定性が
心配だったので(Excelはパソコンへの負荷が大きそうなので)
・処理にかかるパソコンへの負荷ができるだけ少ないこと
・安定性および処理時間短縮のために、処理手順ができるだけ少ないこと
を前提に考えることにしました。
データ処理で最低限必要な処理は、MySQLによるテキストファイル作成までですので、Excelの処理を無くすことができれば非常にシンプルな処理
になります。そこで、Windows共有フォルダにMySQLで作成されたテキストファイルを保存し、それをデータを提供される側がExcelで読み込
むことを考えました。供給される側にはあらかじめデータの取込・整形をするVBAを組み込んだExcelファイルを提供しておきます。
ただし、このやり方には
・データを提供される側の全てのパソコンに対して、共有フォルダにアクセスできるように設定しなければならない。
・共有フォルダの共有設定によっては、データを間違って削除や変更をされる可能性がある。
という共有フォルダの問題があります。
それに対して、Webページならデータを削除・変更されることもなく、Excelが直接アクセスすることが出来ますので、Webのページでデータを
提供することにしました。そのためには、Webサーバーソフトのインストールが必要です。
Webサーバーで有名なのは、Apache(アパッチ)とIISですが、Apacheはフリーソフトですし、IISはWindowsに標準でついてきますの
で、どちらも費用がかかりません。手間を考えてWindowsに標準でついているIISを使おうと思ったのですが、Windows2000proや
WindowsXpについているIISはサーバー用のWindowsについているIISよりも機能がだいぶん制限されていることがわかりました。
制限されている中で問題なのは
・同時に接続される要求が10まで(XpHomeは5まで)
・IPアドレスやドメイン名でアクセス制限ができない
です。同時アクセス数が10まででは少なすぎますし、Webサーバーにデータを置くと、誰でも見られてしまいますのでアクセス制限機能は必要です。
Apacheでは上記の問題はありませんので、IISをあきらめてApacheを使うことにしました。ちなみに世界で一番使われているWebサーバーはApacheだそうなので安心して使えます。
 |
Windowsのタスク機能を使って、決められた時間に自動的に処理ができるようにしてみました。
<結果>
良い点
- 完全に無人化できた
- Webサーバーがあるので、データ取込用のExcelファイルを掲載しておける。(あらかじめ送っておく必要がなくなる)
- Webサーバーがあるので、データのアクセス記録の解析もできる。
悪い点
- FTPサーバーのデータの更新時間が決まった時間でない場合は、定期的に何度も処理をしなければならないため、無駄な処理とデータ提供時間の遅れが生じる
- アクセス制限はフォルダ毎またはファイル毎に設定できるが、IPアドレスで設定するので提供される側のIPアドレスが固定でないと正しく制限設定ができない。
|
<サンプルデモ>1.テキストファイル取り込みへ |
前へ |
次へ |
|