// ***************** // 基本設定 // ***************** PUBLIC USERID = "user" PUBLIC PASSWORD = "pass" PUBLIC SRC_DIR = "D:\Temp\updir" //アップロードフォルダ // ***************** // 設定内容の確認 // ***************** ifb SRC_DIR = "" then msgbox("アップロード対象フォルダが設定されていません") exit endif try // ファイルの取得 filecount = GetDir(SRC_DIR) // アップロードするファイルがない場合終了 ifb filecount = 0 then msgbox("アップロード対象ファイルが見つかりません。<#cr>" + SRC_DIR) exit endif except // 例外が発生したら終了 msgbox("エラー:" + TRY_ERRMSG) exit endtry // IEのバージョン取得 ws = CreateOleObj("Wscript.Shell") Version = token(".", ws.RegRead("HKLM\Software\Microsoft\Internet Explorer\Version")) PUBLIC IE = CreateOLEObj("InternetExplorer.Application") PUBLIC ID = HNDTOID(ie.hwnd) // ***************** // メイン処理 // ***************** IE.Visible = true; // FC2ブログhpを開く IE.Navigate("http://blog.fc2.com/"); // IE7対応 IFB Version = 7 THEN IE.Quit SLEEP(1) objShell = CreateOLEObj("Shell.Application") IE = objShell.Windows.Item(objShell.Windows.Count - 1) // FC2ブログhpを開く IE.Navigate("http://blog.fc2.com/") ENDIF REPEAT SLEEP(1) UNTIL !IE.busy AND IE.readystate=4 // ログインフォームが存在する場合 ifb IE.document.forms["login"] > 0 then frm = IE.document.forms["login"] IE.document.getElementById("acid").value = USERID IE.document.getElementById("passwd").value = PASSWORD frm.submit() else IE.Navigate("http://blog.fc2.com/?admin") endif REPEAT SLEEP(1) UNTIL !IE.busy AND IE.readystate=4 ifb pos("fc2.com/control.php", IE.LocationURL) = 0 then // ログインできなかったら終了 msgbox("ログインできませんでした。") exit endif // アップロード画面を開く tmp = Copy(IE.LocationURL, 1, POS("control.php", IE.LocationURL) + Length("control.php") - 1) IE.Navigate(tmp + "?mode=control&process=upload") REPEAT SLEEP(1) UNTIL !IE.busy AND IE.readystate=4 // ファイル数分アップロード for i = 0 to filecount - 1 // フォーム取得 frm = IE.document.forms["upload"] // ファイルパス filepath = SRC_DIR + "\" + GETDIR_FILES[i] // 最小化してるとファイル名が入らないので戻す if STATUS(ID, ST_ICON) then CTRLWIN(ID, NORMAL) ifb Version = 6 then // ファイル入力ボックスにフォーカスを当てる frm.upfile[0].focus() // sendstrで入力 sendstr(ID, filepath) endif ifb Version = 7 then KBD(VK_CTRL, DOWN) IESETDATA(IE, filepath, "upfile[]", "", 0) KBD(VK_CTRL, UP) endif inputs = frm.getElementsByTagName("input") // type=submitを探す for j = 0 to inputs.length - 1 ifb inputs.item(j).type = "submit" then // 見つかったらクリックしてアップロード inputs.item(j).click break endif next REPEAT SLEEP(1) UNTIL !IE.busy AND IE.readystate=4 next msgbox("完了")