http://www.atmarkit.co.jp/fwin2k/win2ktips/1368taskw7/taskw7.html
定期的に実行させるならば タスク・スケジューラーを用いたらいいでしょう。
完全自動化するとしたら、毎週火曜日に送られて来るデータの正確な日時やファイル構成、送られてくる場所などの情報に規則性が無いと、スケジュールとして組むことは難しいかと思います。
私が自動化するとしたらざっと次のような物を考えます。
1)Lhasaで解凍するということはzipかlzhになりますが、zipの場合はコマンドラインで解凍することもできますので自動化を考えた場合Lhasaに拘ることもないのかなと思います。例えばvbsにフォルダをドロップすることでVBScriptから解凍することもできます。
以下はドロップしたzipを解凍するvbsのサンプルです。
※わかりやすくするためにエラートラップ等は省いています。
set fso = WScript.CreateObject("Scripting.FileSystemObject") File = WScript.Arguments(0) With CreateObject("Shell.Application") .NameSpace(fso.GetParentFolderName(File)).CopyHere .NameSpace(File).Items End With
2)1)でvbsを使うと、次にVBScriptからExcelを立ち上げフォルダのパスをそのまま送りマクロを実行させることができます。その部分は次のようなVBScriptで可能です。
Set ExApp = CreateObject("Excel.Application") ExApp.Visible = True ExApp.Workbooks.Open "C:\Users\hogehoge\Desktop\マクロ.xls" ExApp.Run "myMacro", WScript.Arguments(0)
上記をvbsで保存し、フォルダをドロップするとマクロ.xlsが開きmyMacroという関数が実行されます。
下記のようにマクロ.xlsに関数を作ればパスが渡ることが確認できると思います。
Private Sub myMacro(path As String) MsgBox path End Sub
パスが渡れば作成済みのプログラムで使うことができます。
気をつけることは解凍からプログラムの実行を自動で行う場合、解凍の同期処理が必要であるということ。