質問編集履歴
4
ソースを変更しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,10 +36,17 @@
|
|
36
36
|
test1.csvの2行目を比較したいのですが、書き込み処理に移ってしまいます。
|
37
37
|
|
38
38
|
|
39
|
+
■現在出力される内容
|
40
|
+
12345,2019/01/01,23:25
|
41
|
+
12345,2019/01/02,19:25
|
42
|
+
12345,2019/01/03,21:25
|
43
|
+
12345,2019/01/04,23:25
|
39
44
|
|
40
45
|
|
46
|
+
|
41
47
|
### 作成を試みたソース
|
42
48
|
```ここに言語を入力
|
49
|
+
Const Path = "C:"
|
43
50
|
Const InFile1 = "test1.csv"
|
44
51
|
Const InFile2 = "test2.csv"
|
45
52
|
Const OutFile1 = "OutFile1.csv"
|
@@ -68,32 +75,39 @@
|
|
68
75
|
Set objInFile = objFso.OpenTextFile(Path & "\" & InFile1, 1, False)
|
69
76
|
Set objInFile2 = objFso.OpenTextFile(Path & "\" & InFile2, 1, False)
|
70
77
|
Set objOutFile = objFso.OpenTextFile(Path & "\" & OutFile1, 2, True)
|
71
|
-
|
78
|
+
Do Until objInFile.AtEndOfStream
|
72
|
-
|
79
|
+
strInFileLine = Split(objInFile.ReadLine, ",")
|
73
|
-
|
80
|
+
SYA_BG = strInFileLine(0)
|
74
|
-
|
81
|
+
KINMU_DATE = strInFileLine(1)
|
75
|
-
|
82
|
+
TIME_1_1 = strInFileLine(2)
|
76
|
-
|
83
|
+
Do Until objInFile2.AtEndOfStream
|
77
|
-
|
84
|
+
strInFileLine2 = Split(objInFile2.ReadLine, ",")
|
78
|
-
|
85
|
+
SYA_BG2 = strInFileLine2(0)
|
79
|
-
|
86
|
+
KINMU_DATE2 = strInFileLine2(1)
|
80
|
-
|
87
|
+
NUM(1) = TIME_1_1
|
81
|
-
|
88
|
+
NUM(2) = strInFileLine2(2)
|
82
|
-
|
89
|
+
NUM(3) = strInFileLine2(3)
|
83
|
-
|
90
|
+
NUM(4) = strInFileLine2(4)
|
84
|
-
MsgBox(NUM(1) & "," & NUM(2) & "," & NUM(3) & "," & NUM(4))
|
85
|
-
|
91
|
+
IF SYA_BG = SYA_BG2 AND KINMU_DATE = KINMU_DATE2 Then
|
86
|
-
|
92
|
+
for i = 1 to 4
|
87
|
-
|
93
|
+
if NUM_MAX < NUM(i) Then
|
88
|
-
|
94
|
+
NUM_MAX = NUM(i)
|
89
|
-
|
95
|
+
END IF
|
90
|
-
|
96
|
+
NEXT
|
91
|
-
|
97
|
+
END IF
|
92
|
-
|
98
|
+
TIME_1_1 = NUM_MAX
|
93
|
-
'書き込み処理
|
94
|
-
objOutFile.WriteLine SYA_BG & "," & KINMU_DATE & "," & TIME_1_1
|
95
|
-
Loop
|
96
99
|
Loop
|
100
|
+
objOutFile.WriteLine SYA_BG & "," & KINMU_DATE & "," & TIME_1_1
|
101
|
+
Loop
|
102
|
+
objInfile.Close
|
103
|
+
objInfile2.Close
|
104
|
+
objOutfile.Close
|
105
|
+
Set objInfile = Nothing
|
106
|
+
Set objInfile2 = Nothing
|
107
|
+
Set objOutFile1 = Nothing
|
108
|
+
|
109
|
+
Set objfso = Nothing
|
110
|
+
|
97
111
|
```
|
98
112
|
|
99
113
|
|
3
タグの削除、説明文の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
【質問内容】
|
2
2
|
test1.csvの社員番号と日付とtest2.csvの番号と日付が一致した時だけ
|
3
3
|
test1.csvの時刻とtest2.csvの3つの時刻の中で(計4つ)の中で一番時刻の遅い値を返すプログラムを書こうとしています。
|
4
|
+
test2.csvにデータがなかった場合はそのままtest.1の内容を出力したいです。
|
4
5
|
|
5
6
|
for文などを使用して添え字やキーなどを作れば可能になりますでしょうか。
|
6
7
|
ご教示ください。
|
@@ -89,6 +90,7 @@
|
|
89
90
|
NEXT
|
90
91
|
END IF
|
91
92
|
TIME_1_1 = NUM_MAX
|
93
|
+
'書き込み処理
|
92
94
|
objOutFile.WriteLine SYA_BG & "," & KINMU_DATE & "," & TIME_1_1
|
93
95
|
Loop
|
94
96
|
Loop
|
2
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,37 +5,40 @@
|
|
5
5
|
for文などを使用して添え字やキーなどを作れば可能になりますでしょうか。
|
6
6
|
ご教示ください。
|
7
7
|
|
8
|
-
|
8
|
+
###テストデータ
|
9
|
+
```
|
9
|
-
test1.csvの内容
|
10
|
+
**テストファイル1:test1.csvの内容**
|
10
11
|
12345,2019/01/01,17:25
|
11
12
|
12345,2019/01/02,19:25
|
12
13
|
12345,2019/01/03,21:25
|
13
14
|
12345,2019/01/04,23:25
|
14
|
-
|
15
|
+
```
|
16
|
+
```
|
15
|
-
test2.csvの内容
|
17
|
+
**テストファイル2:test2.csvの内容**
|
16
18
|
12345,2019/01/01,17:25,23:25,19:25
|
17
19
|
12345,2019/01/02,19:25,20:25,21:25
|
18
20
|
12345,2019/01/03,21:25,19:25,15:25
|
19
21
|
12345,2019/01/04,23:25,21:25,21:25
|
22
|
+
```
|
20
23
|
|
24
|
+
```
|
21
|
-
OutFile1.csv
|
25
|
+
**出力したい内容:OutFile1.csv**
|
22
26
|
12345,2019/01/01,23:25
|
23
27
|
12345,2019/01/02,21:25
|
24
28
|
12345,2019/01/03,21:25
|
25
29
|
12345,2019/01/04,23:25
|
30
|
+
```
|
26
31
|
|
27
32
|
|
28
|
-
|
29
33
|
### 発生している問題・エラーメッセージ
|
30
34
|
内側のDo Until objInFile2.AtEndOfStreamが終わったあと
|
31
35
|
test1.csvの2行目を比較したいのですが、書き込み処理に移ってしまいます。
|
32
36
|
|
33
37
|
|
34
38
|
|
35
|
-
### 使用言語
|
36
|
-
VBS
|
37
39
|
|
38
40
|
### 作成を試みたソース
|
41
|
+
```ここに言語を入力
|
39
42
|
Const InFile1 = "test1.csv"
|
40
43
|
Const InFile2 = "test2.csv"
|
41
44
|
Const OutFile1 = "OutFile1.csv"
|
@@ -88,4 +91,11 @@
|
|
88
91
|
TIME_1_1 = NUM_MAX
|
89
92
|
objOutFile.WriteLine SYA_BG & "," & KINMU_DATE & "," & TIME_1_1
|
90
93
|
Loop
|
91
|
-
Loop
|
94
|
+
Loop
|
95
|
+
```
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
### 使用言語
|
101
|
+
VBS
|
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
+
【質問内容】
|
2
|
+
test1.csvの社員番号と日付とtest2.csvの番号と日付が一致した時だけ
|
3
|
+
test1.csvの時刻とtest2.csvの3つの時刻の中で(計4つ)の中で一番時刻の遅い値を返すプログラムを書こうとしています。
|
4
|
+
|
5
|
+
for文などを使用して添え字やキーなどを作れば可能になりますでしょうか。
|
1
|
-
|
6
|
+
ご教示ください。
|
7
|
+
|
8
|
+
■テストデータ
|
2
9
|
test1.csvの内容
|
3
10
|
12345,2019/01/01,17:25
|
4
11
|
12345,2019/01/02,19:25
|
@@ -17,28 +24,18 @@
|
|
17
24
|
12345,2019/01/03,21:25
|
18
25
|
12345,2019/01/04,23:25
|
19
26
|
|
20
|
-
【質問内容】
|
21
|
-
test1.csvの社員番号と日付とtest2.csvの番号と日付が一致した時だけ
|
22
|
-
test1.csvの時刻とtest2.csvの3つの時刻の中で(計4つ)の中で一番時刻の遅い値を返すプログラムを書こうとしています。
|
23
27
|
|
24
|
-
for文などを使用して添え字やキーなどを作れば可能になりますでしょうか。
|
25
|
-
ご教示ください。
|
26
28
|
|
27
|
-
|
28
29
|
### 発生している問題・エラーメッセージ
|
29
|
-
内側のDo Until objInFile2.AtEndOfStreamが終わったあと
|
30
|
+
内側のDo Until objInFile2.AtEndOfStreamが終わったあと
|
30
|
-
書き込み処理に移ってしまいます。
|
31
|
+
test1.csvの2行目を比較したいのですが、書き込み処理に移ってしまいます。
|
31
32
|
|
32
33
|
|
33
34
|
|
34
|
-
###
|
35
|
+
### 使用言語
|
35
|
-
|
36
|
-
```ここに言語名を入力
|
37
36
|
VBS
|
38
|
-
VBA
|
39
|
-
VB
|
40
37
|
|
41
|
-
###
|
38
|
+
### 作成を試みたソース
|
42
39
|
Const InFile1 = "test1.csv"
|
43
40
|
Const InFile2 = "test2.csv"
|
44
41
|
Const OutFile1 = "OutFile1.csv"
|