質問するログイン新規登録

質問編集履歴

1

ソースコード、PGM構築の背景を追加

2017/09/01 08:08

投稿

ykkchak
ykkchak

スコア15

title CHANGED
File without changes
body CHANGED
@@ -5,14 +5,39 @@
5
5
  数百というファイルを処理するときにこれでは処理できません。
6
6
  解決策を教えて頂けないでしょうか
7
7
 
8
+ ■質問追記
9
+ ⇒adoR.Fields.Append "F_Name", 201 を指定しても同様にダメでした。
10
+ ⇒前提としまして、このPGMはサブPGMです。親側から複数回実行されます。
11
+ arg3は親からの引数でシーケンス番号(1,2・・)を表しています。
12
+ つまり、親で\input\シーケンス番号を作成しておいて、子でsndからファイルを
13
+ 取得して\input\シーケンス番号に格納します。つまりsndでファイルを昇順で取得
14
+ することができれば、格納先のシーケンス番号にも若番が入っていきます。
8
15
 
9
- .下記サンプルPGMになります
16
+ ※※※ソースを張なおします※※※※
17
+ Dim fso,filefullpath
18
+
19
+ Set fso = createObject("Scripting.FileSystemObject")
20
+ filefullpath = fso.getParentFolderName(WScript.ScriptFullName)
21
+
22
+ Dim objfso, mySH,objFolder
23
+
24
+ Set mySH = CreateObject("WScript.Shell")
25
+ Set objfso = CreateObject("Scripting.FileSystemObject")
26
+
27
+ '取得元ディレクトリ
28
+ Set objFolder = objfso.GetFolder(filefullpath & "\snd")
29
+
30
+ '格納先ディレクトリ
31
+ Dim inpass : inpass = filefullpath &"\input\"& arg3 &"\"
32
+
33
+ Dim p: p = 0
34
+
10
35
  Dim adoR
11
36
  Dim FilN
12
37
 
13
38
  'ソートの準備
14
39
  Set adoR = CreateObject("ADODB.Recordset")
15
- adoR.Fields.Append "F_Name", 200, 100000
40
+ adoR.Fields.Append "F_Name", 201
16
41
  adoR.Open
17
42
 
18
43
  For Each FilN In objFolder.Files
@@ -26,6 +51,11 @@
26
51
  adoR.MoveFirst
27
52
 
28
53
  Do Until adoR.EOF
54
+ If p < arg1 then
29
- objfso.MoveFile adoR.Fields(0) , "C:\temp"
55
+ objfso.MoveFile adoR.Fields(0) , inpass
56
+ p = p + 1
30
57
  adoR.MoveNext
58
+ end if
31
- Loop
59
+ Loop
60
+
61
+ adoR.Close: Set adoR = Nothing