PSID10

Private Sub Command1_Click()
Dim n As Single
Dim a(1 To 100000) As String
Dim x1(1 To 3000) As String
Dim x2(1 To 3000) As String
Dim x3(1 To 3000) As String
Dim x4(1 To 3000) As String
Dim x5(1 To 3000) As String
Dim x6(1 To 3000) As String
Dim dname(1 To 10000) As String
Dim dstart(1 To 10000) As Single
Dim dend(1 To 10000) As Single
Dim data(1 To 100000) As String
Dim kk() As String
Dim buf As String
Dim p As Single
Dim endnum As Single
Dim endn As Single
Dim nx As Single
n = 1
Open "c:\psid\spss93.txt" For Input As #1
Do Until EOF(1)
Line Input #1, buf
a(n) = buf
n = n + 1
Loop
Close #1
endnum = n - 1
n = 1
Open "c:\psid\psid93.txt" For Input As #2
Do Until EOF(2)
Line Input #2, buf
data(n) = buf
n = n + 1
Loop
Close #2
endn = n - 1
m = 1
For n = 1 To endnum - 1
x1(m) = Mid(a(n), 7, 6)
x2(m) = Mid(a(n), 20, 11)
x3(m) = Mid(a(n), 37, 6)
x4(m) = Mid(a(n), 50, 11)
x5(m) = Mid(a(n), 67, 6)
x6(m) = Mid(a(n), 80, 11)
m = m + 1
Next
num = m - 1
n = 0
For m = 1 To num - 1
n = n + 1
dname(n) = x1(m)
kk = Split(x2(m), "-")
dstart(n) = Val(kk(0))
dend(n) = Val(kk(1))
n = n + 1
dname(n) = x3(m)
kk = Split(x4(m), "-")
dstart(n) = Val(kk(0))
dend(n) = Val(kk(1))
n = n + 1
dname(n) = x5(m)
kk = Split(x6(m), "-")
dstart(n) = Val(kk(0))
dend(n) = Val(kk(1))
Next
n = n + 1
dname(n) = x1(m)
kk = Split(x2(m), "-")
dstart(n) = Val(kk(0))
dend(n) = Val(kk(1))
n = n + 1
dname(n) = x3(m)
kk = Split(x4(m), "-")
dstart(n) = Val(kk(0))
dend(n) = Val(kk(1))
For n = 1 To 5069
If dname(n) = "V21601" Then nx = n
Next
For n = 1 To endn
Debug.Print Mid(data(n), dstart(nx), dend(nx) - dstart(nx) + 1)
Next



End Sub
最終更新:2009年12月26日 06:31