概要
ソースを見るだけだったら、SEUよりも秀丸の方が見やすい訳で。
エミュレータでソースダウンロードは結構面倒なので、単純化したスクリプトを作りました。
登録:2008/09/06
ソースを見るだけだったら、SEUよりも秀丸の方が見やすい訳で。
エミュレータでソースダウンロードは結構面倒なので、単純化したスクリプトを作りました。
登録:2008/09/06
このページに書かれている事を実行して、何が起こっても私は知りません。
まぁ、このページに到達された方なら大丈夫でしょうけど(^o^)。
スクリプト re973001.hta の固定値をご自分の環境に合わせて変更し、スクリプトを起動して下さい。
ダウンロードしたいメンバー名を改行で区切って適当に入れて下さい。ダウンロードボタンを押して下さい。
ライブラリ名とソースファイル名は、テキストボックスに入力があればその値を使いますし、入力が無ければリストボックスで選択されている値を使用します。
指定されているライブラリ/ソースファイルに指定メンバーが存在していれば、ダウンロードされますし、存在しなければその旨がまとめて通知されます。
取り合えず、プログラムとか画面とかメンバー名をまとめて入れといて、ソースファイル選択→ダウンロード→ソースファイル選択→ダウンロードを繰り返すので、ずぼらで良い感じです♪
iSeries Access とか Client Access は、自力でインストールして下さいね。
[re973001.hta:ここから]====================================================================== <html> <head> <HTA:APPLICATION APPLICATIONNAME="ASソースダウンロード" ICON="winmine.exe" BORDER="dialog" SCROLL="no" /> <style type="text/css"> <!-- body,select,input,td,textarea { font-family : monospace; } h1 { display : none; margin-top : 0.5em; padding-top : 0.2em; padding-bottom : 0.2em; margin-bottom : 0.2em; padding-left : 1 em; color : #3333ff; background-color : #99ffff; font-size : 130%; } textarea.data_list { font-family : monospace; font-size : 150%; } input.pc_file { width : 23em; } input.text { font-family : monospace; width : 8em; } p,table,dl { margin-top : 0em; margin-bottom : 0em; } --> </style> </head> <body onload="S_onload_proc()"> <form id="form_main" onsubmit=""> <h1 id="page_title"></h1> <p>ソースメンバー名を改行で区切って入れて下さい。</p> <table ><tr> <td> <textarea class="data_list" name="member_lists" rows="11" cols="10"></textarea> </td> <td class="form_options"> <dl> <dt> <input type="button" onclick="S_Download_source_member()" value="D)ダウンロード" accesskey="d" /> </dt> <dt>ダウンロードフォルダ(末尾の \ は無くても可)</dt> <dd> <input class="pc_file" name="data_dir" value="C:\_D\_Dairy\" /> </dd> </dl> <table><tr> <td> <dl> <dt>ライブラリ名</dt> <dd> <input class="text" name="AS_lib_name_i" value="" /> </dd> <dd> <select name="AS_lib_name_l" size="6" > <option value="SRCLIB1" selected>SRCLIB1</option> <option value="SRCLIB2">SRCLIB2</option> <option value="SRCLIB3">SRCLIB2</option> </select> </dd> </dl> </td> <td> <dl> <dt>ソースファイル</dt> <dd> <input class="text" name="Source_file_name_i" value="" /> </dd> <dd> <select name="Source_file_name_l" size="6" > <option value="QCLPSRC">QCLPSRC</option> <option value="QCPYSRC">QCPYSRC</option> <option value="QDDSSRC">QDDSSRC</option> <option value="QDSPSRC">QDSPSRC</option> <option value="QPRTSRC">QPRTSRC</option> <option value="QRPGSRC" selected>QRPGSRC</option> </select> </dd> </dl> </td> </tr></table> <dl> <dt>対象AS</dt> <dd> <select name="AS_SYSTEM" size="3" > <option value="192.168.0.100" >社内:A</option> <option value="192.168.0.101" selected>社内:B</option> <option value="192.168.0.102" >大阪</option> </select> </dd> <dt>ユーザーID/パスワード</dt> <dd> <input class="text" name="AS_UID" value="" /> /<input class="text" name="AS_PWD" value="" type="password"/> </dd> </dl> </td> </tr></table> </form> <script language="VBScript"> option explicit Const C_title_text = "ASソースダウンロード" Const C_initial_width = 545 Const C_initial_height = 385 Const C_ext = ".rpg" Const C_DFT_AS_SYSTEM = "192.168.0.100" Const C_DFT_AS_UID = "USER" Const C_DFT_AS_PWD = "PASS" dim rt,i '-------------------------------------------------------------------------------- 'ソースファイルのダウンロード Sub S_Download_proc() dim L_AS400,L_AS_DLR dim LA_member dim L_LIB_name,L_SRC_name dim L_count,L_Result L_LIB_name = document.all("AS_lib_name_l").value if trim(document.all("AS_lib_name_i").value) <> "" then L_LIB_name = document.all("AS_lib_name_i").value L_SRC_name = document.all("Source_file_name_l").value if trim(document.all("Source_file_name_i").value) <> "" then L_SRC_name = document.all("Source_file_name_i").value L_count = 0 L_Result = "" '1.AS/400接続 Set L_AS400 = createobject("cwbx.AS400System") L_AS400.define document.all("AS_SYSTEM").value L_AS400.UserID = document.all("AS_UID").value L_AS400.Password = document.all("AS_PWD").value 'データ転送定義 Set L_AS_DLR = createobject("cwbx.DatabaseDownloadRequest") Set L_AS_DLR.system = L_AS400 LA_member = Split(document.all("member_lists").value,vbcrlf) for i = 0 to UBound(LA_member) 'それぞれのメンバー毎の処理 if LA_member(i) <> "" then 'ブランク行は無視で。 ' 転送用の AS/400 ファイル名を設定します L_AS_DLR.AS400File = L_LIB_name & "/" & L_SRC_name & "(" & LA_member(i) & ")" ' PC ファイル・タイプをアスキー形式テキストに設定します L_AS_DLR.pcFile.FileType = 1 'PC ファイルの名前を設定します L_AS_DLR.pcFile.Name = document.all("data_dir").value & "\" & LA_member(i) & C_ext '文字コード変換? L_AS_DLR.Convert65535 = true '転送処理です。 Err.Clear On Error Resume Next L_AS_DLR.Download If Err.Number <> 0 Then L_Result = L_Result & vbcrlf & "× " & L_AS_DLR.AS400File & " → " & L_AS_DLR.pcFile.Name else L_Result = L_Result & vbcrlf & "○ " & L_AS_DLR.AS400File & " → " & L_AS_DLR.pcFile.Name L_count = L_count + 1 end if On Error Goto 0 end if next Set L_AS_DLR = Nothing Set L_AS400 = Nothing Call S_OK_msg(L_count & " 件ダウンロードしました。" & L_Result) end sub '-------------------------------------------------------------------------------- 'ダウンロード処理 Sub S_Download_source_member() if document.all("member_lists").value <> "" then S_Download_proc() else Call S_OK_msg("ダウンロードするソースメンバーを指定して下さい。") end if end sub '-------------------------------------------------------------------------------- sub S_onload_proc() '初期値設定 document.title = C_title_text document.all("page_title").innerText = C_title_text rt = window.resizeTo(C_initial_width,C_initial_height) document.all("AS_SYSTEM").value = C_DFT_AS_SYSTEM document.all("AS_UID").value = C_DFT_AS_UID document.all("AS_PWD").value = C_DFT_AS_PWD end sub '-------------------------------------------------------------------------------- sub S_OK_msg(P_msg) msgbox P_msg,0,C_title_text end sub </script> </body></html> [re973001.hta:ここまで]======================================================================