[ 掲示板に戻る ]

過去ログ閲覧モード

ファイルの更新日かサイズを取得したい / カニ
特定のファイルの更新日かサイズを取得したいのですが、方法を教えて下さい。
No.2061 2016/01/22(Fri) 12:28:33

Re: ファイルの更新日かサイズを取得したい / しろまさ
http://siromasa.html.xdomain.jp/uwsc/u_term/62_HizukeToZikan.html
更新日・作成日 ?@ Scripting.FileSystemObject にて。

サイズもファイルオブジェクトから取得できます。

No.2062 2016/01/22(Fri) 16:49:13
ファイル名の日付から、選択したい / sen
いつもお世話になります。
ファイル名の日付からファイル選択したくて、下記のようなのを作成しました。
教えていただいたのを駆使して極力シンプルに書いてみたのですが、もっと良くなりませんでしょうか?
よろしくお願いします。

dim 期間[50],最初,最後
印刷フォルダ = "C:\test"

HASHTBL 日
for i = 0 to 50
 GETTIME(-i)
 日[i] = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2
next
for i = 1 to 10
 GETTIME(-i)
 ifb G_TIME_WW = 0 then //日曜日
  最後 = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2
  break
 ENDIF
next
最初 = GETTIME(-i-6)
最初 = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2
最初と最後 = INPUT("最初-最後", 最初+"-"+最後)
最初 = copy(最初と最後,1,8)
最後 = copy(最初と最後,10,8)

HASHTBL 集計期間
for i = 0 to Length(日)-1
 ifb 日[i, HASH_VAL] >= 最初 then
  ifb 日[i, HASH_VAL] <= 最後 then
   集計期間[日[i, HASH_VAL]] = 1
  endif
 endif
next

for ファイル in GETDIR(印刷フォルダ)
 for 結果 in 集計期間
  ifb copy(ファイル,1,8) = 結果 then
   PRINT ファイル
  endif
 next
next

//20160103.txt
//20160104.txt
//20160105.txt
//20160106.txt
//20160107.txt
//20160108.txt
//20160109.txt
//20160110.txt
//20160111.txt
  ↓
//20160104.txt
//20160105.txt
//20160106.txt
//20160107.txt
//20160108.txt
//20160109.txt
//20160110.txt

No.2040 2016/01/16(Sat) 11:54:18

Re: ファイル名の日付から、選択したい / Liners
正直、良く書けていますし問題ないのならこのままで良いのでは?
でも、他のタイプが見てみたいのでしょうねぇ。
発想を逆転というかダイレクトにして、欲しいファイル名を連想配列に突っ込んで探してみては?


印刷フォルダ = "C:\test"
HASHTBL 期間ファイル名

for i = 12 to 1 step -1
 GETTIME(-i)
 期間ファイル名[G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + ".txt"] = 1
 if G_TIME_WW = 0 then break
next

for ファイル in GETDIR(印刷フォルダ)
 if 期間ファイル名[ファイル, HASH_EXISTS] then PRINT ファイル
next

No.2043 2016/01/16(Sat) 14:48:04

Re: ファイル名の日付から、選択したい / sen
シンプル!美しい!
質問してみて良かったです。
ありがとうございました。

No.2049 2016/01/17(Sun) 22:54:33
IEの欲しい範囲をEXCELにコピーしたい / KAZ
お世話になります。

サンプルを編集したのですが、IE上の欲しい部分の指定方法がいまいち分かりません。

下記サイトの 順位〜安値、1〜50までので情報をEXCELに書き出したいです。
<http://www.kabudragon.com/ranking/yasune.html>




IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = True
url = "http://www.kabudragon.com/ranking/yasune.html"
IE.Navigate(url) //URLを開く
BusyWait(IE) //待つ
Excel = XLOPEN(True) // 新規でExcel起動 Pro版の関数
Excel.Range("A1").ColumnWidth = 16 // A列の幅
dim head[] = "順位","コード","名称","市場","取引値","前日比","昨年来安値の値下がり率","出来高","高値","安値"
XLSETDATA(Excel, head, "A1") //A1から右に配列で入力
// データ取得
body = IEGetSrc(IE, "BODY")
body = Copy(body, Pos("安値",body)) // 取得開始位置    ←ここから先がいまいち分かりません。
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
num = Length(SPLIT(body, "</tr>"))-2 // 行数
dim sdat[num][13]
cnt = 1
for y = num to 1 step -1
for x = 1 to 13 // 列
sdat[y][x] = BetweenStr(body, "<td>", "</td>", cnt)
cnt = cnt + 1
next
next
XLSETDATA(Excel, sdat, "A2") // 一括で設定 Pro版の関数

// 画面更新待ち
CONST WM_ACTIVATE = 06
DEF_DLL SendMessageA(Hwnd,Long,Long,Dword):Bool:user32.DLL
Procedure BusyWait(ie)
Sleep(0.5) // Wait
Const TIME_OUT = 90
tm = Gettime()
repeat
Sleep(0.2)
ifb Gettime() - tm > TIME_OUT
MsgBox("Time Out:BusyWait")
ExitExit
endif
until (! ie.busy) and (ie.readyState=4)
Sleep(0.5)
SendMessageA(ie.Hwnd, WM_ACTIVATE, 0, 0)
Fend



よろしくお願いします。

No.2045 2016/01/16(Sat) 20:42:14

Re: IEの欲しい範囲をEXCELにコピーしたい / umiumi
HTMLの内容は自分で解析してください。
// データ取得
regex = CREATEOLEOBJ("VBScript.RegExp") // 正規表現を使いタグを潰す為
regex.Global = True
regex.Pattern = "<[^>]*>"
tbl = SPLIT(IEGETSRC(IE, "TAG=TABLE", 7), "</tr>") // 7つ目のテーブル
num = Length(tbl)-2 // 行数
dim sdat[num][13]
for y = 1 to num
  lin = regex.Replace(tbl[y], "<#TAB>") // タグをタブに変換
  x = 1
  while lin <> ""
    s = Trim(Token("<#TAB>", lin))
    if s = "" then continue
    sdat[y][x] = s
    x = x + 1
  wend
next
XLSETDATA(Excel, sdat, "A2") // 一括で設定 Pro版の関数

No.2047 2016/01/17(Sun) 00:51:49

Re: IEの欲しい範囲をEXCELにコピーしたい / KAZ
umiumi様

早急なご対応ありがとうございました。
データ取得できました。

HTML勉強します。

またよろしくお願いします。

No.2048 2016/01/17(Sun) 11:43:17
アプリ起動した瞬間からPCがフリーズしてしまいます…。 / じゅげむ
こんにちは。
お世話になります。
以下のような起動直後の不具合に見舞われたので、どなたかわかる方いましたら
ご教授いただけましたら幸いです。

1ダウンロード後、zipファイルをデスクトップに展開する。
2アプリケーションアイコンをダブルクリック
3直後、プログラム起動せず、すべての入力を受け付けなくなりPCフリーズ

※使用しているPCのスペック概要は、以下のとおりです。

・OS Windows10 Pro
・CPU Intel core2 Duo 3.16Ghz
・メモリ 8GB
・システム 64ビットOS

HDのランプも時々点滅または消灯している状態でした。
なんどかファイルをダウンロードしなおしたり、シェア版を入れてみたりしましたが、どれも同じ
現象に行き着いてしまい、何が悪いのか自分には全く見当が付かず、大変困っています。
どなたかご教授いただけたら幸いです。

No.2041 2016/01/16(Sat) 13:38:37

Re: アプリ起動した瞬間からPCがフリーズしてしまいます…。 / umiumi
セキュリティソフトを一時的にオフにして確認してみてください。
特にアバスト! は注意

No.2046 2016/01/16(Sat) 23:09:47
アマゾンの検索結果の並べ替え条件の変更の仕方について / アッキー
はじめまして、アッキーといいます。

アマゾンの検索結果の並べ替え条件を変えたいのですが、うまく出来ずに困っています。

例)URL : http://www.amazon.co.jp/s/ref=sr_pg_1?rh=n%3A561958%2Ck%3Advd&keywords=dvd&ie=UTF8&qid=1452480712&lo=dvd

処理としては、下記のことをしています。

IE = CreateOLEObj("InternetExplorer.Application")

IE.Visible = True

IE.Navigate("http://www.amazon.co.jp/s/ref=sr_pg_1?rh=n%3A561958%2Ck%3Advd&keywords=dvd&ie=UTF8&qid=1452480712&lo=dvd")

BusyWait(IE)

doc = IE.Document

for k=0 to doc.forms(3).elements.length-1
ifb (pos("select-one",doc.forms(3).elements(k).type)<>0)
break
endif
next

//おすすめ順を選択したい場合
doc.forms(3).elements(k).selectedIndex = 1


Procedure BusyWait(ie)
Sleep(0.5); repeat; Sleep(0.2); until (! ie.busy) and (ie.readyState=4); Sleep(0.5)
Fend


上記の処理で、並べ替え条件の表示は「おすすめ順」に変わるのですが、実際にはおすすめ順には
並べ替えがされません。何か処理が足りないのだと思うのですが、そこが分かりません。

OSはWindows7 Professional 64bit、IEのバージョンは11.0.9600.18124です。

どなたか分かる方がいらっしゃったら、ご教示いただければ幸いです。

よろしくお願いいたします。

No.2034 2016/01/11(Mon) 12:41:37

Re: アマゾンの検索結果の並べ替え条件の変更の仕方について / しろまさ
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.amazon.co.jp/s/ref=sr_pg_1?rh=n%3A561958%2Ck%3Advd&keywords=dvd&ie=UTF8&qid=1452480712&lo=dvd")
BusyWait(IE)

Dim elm = IE.document.getElementById("sort")
elm.selectedIndex = 1

Dim evt = IE.document.createEvent("HTMLEvents")
evt.initEvent("change", true, false)
elm.dispatchEvent(evt) // IE11対応のfireEventを発生させる

// 20150205 onchangeイベントを発生させる
// http://siromasa.html.xdomain.jp/uwsc/u_term/InternetExplorerApplication.html (拡散用リンク)

No.2037 2016/01/12(Tue) 13:24:14

Re: アマゾンの検索結果の並べ替え条件の変更の仕方について / アッキー
しろまさ様

ありがとうございました!(^^
大変勉強になりました。
こういう方法があるのですね!

ご紹介いただいたリンク先も参考にさせていただきます。

ほんとうに助かりました。ありがとうございました。m(_ _)m

No.2039 2016/01/12(Tue) 16:23:13
変数を1ずつ増やして定義したい / きのこ
For〜Next
While〜Wend
Repeat〜Until
で、繰り返し作業で「aaa」、「bbb」、「ccc」、「ddd」・・・と変化していく結果を
temp(x)= の変数に次々と入れていきたと思います。

temp1=aaa
temp2=bbb
temp3=ccc
temp4=ddd
temp5=eee



tempの後の数字を自動で1ずつ増やして、繰り返しで得られた結果を入れていくには
どのように記述すれば可能なのでしょうか?
良い知恵がありましたらご教示のほど宜しくお願い致します。

No.2033 2016/01/11(Mon) 12:24:57

Re: 変数を1ずつ増やして定義したい / しろまさ
配列 or 連想配列 を使用しては?
No.2038 2016/01/12(Tue) 13:34:03
uwscのスクリプト難読化のやり方を教えてください / redrrr
uwscの難読化をかけたいんですがどうやればいいんですか?
No.2035 2016/01/11(Mon) 23:35:48

Re: uwscのスクリプト難読化のやり方を教えてください / routa
ヘルプで「スクランブル」の項を見ましょう。
No.2036 2016/01/12(Tue) 01:10:15
速さの変更の仕方がわからない / 匿名
録画した後保存するときに帰れるんですか?
No.2031 2016/01/10(Sun) 22:30:21

Re: 速さの変更の仕方がわからない / Liners
スピコンの機能はありませんが、保存後の速度をある程度調整できるスクリプトは、先日紹介されましたよ。
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi&mode=res&resto=2004

No.2032 2016/01/11(Mon) 00:40:03
uwscでセレクトボタンを押してまたセレクトボタンを出す方法を教えてほしいです / とむ
あと関数とかもお願いしたいです
No.1992 2015/12/29(Tue) 20:32:34

Re: uwscでセレクトボタンを押してまたセレクトボタンを出す方法を教えてほしいです / むう
質問内容をわかりやすくした方が良いと思いますよ。
No.1993 2015/12/29(Tue) 21:34:10

Re: uwscでセレクトボタンを押してまたセレクトボタンを出す方法を教えてほしいです / 胃の上食道
質問内容通りなら二回かけば良い。

>あと関数とかもお願いしたいです
その段階であれば書籍を購入することをお勧めします。

No.2030 2016/01/09(Sat) 18:09:11
ファイル名の変更 / sen
お世話になっております。
ネットワークドライブ先のファイル名を変更したいのですが、うまくいきません。
教えていただけませんでしょうか?

DOSCMD("net use z: \\K4\d\")
元フォルダ = "Z:\fax済\"

GETDIR(元フォルダ)
for i = 0 to LENGTH(GETDIR_FILES) - 1
 y = GETDIR_FILES[i]
 x = REPLACE(y," ","")
 CMD = "ren "+元フォルダ+y+" "+x
 Doscmd(cmd)
next

No.2024 2016/01/07(Thu) 23:39:27

Re: ファイル名の変更 / sen
済みません。
<#DBL>で囲んだら、うまくいきました。
DOSCMDの可能性は、無限にあると良く聞きますが、基礎が無いだけに難しいです。

今後とも宜しくお願い致します。


CMD = "ren "+元フォルダ+"<#DBL>"+y+"<#DBL> <#DBL>"+x+"<#DBL>"

No.2029 2016/01/08(Fri) 21:19:58
全1170件 [ ページ : << 1 ... 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 ... 117 >> ]