|
▼初心者です。 さん:
>⇒再確認したところ、正確には11〜32行目で固定になります。
こんにちは。
何通りかありますけどその内の一つで
Sub TEST2()
Dim IO1 As Integer
Dim IO2 As Integer
Dim strDir As String
Dim strFnm As String
Dim expFnm As String
Dim i As Long
Dim v As Variant
strDir = "D:\TEXT\" ' 格納されているホルダー
expFnm = "Save1.csv" ' 出力用のファイル名
strFnm = "*.txt" ' 読込み用のファイルの拡張子
strFnm = Dir(strDir & strFnm)
IO1 = FreeFile
Open strDir & expFnm For Output As #IO1 ' 出力用のファイルOpen
Do While strFnm <> ""
IO2 = FreeFile
Open strDir & strFnm For Input As #IO2 ' 読込用のファイルOpen
For i = 1 To 10
Line Input #IO2, v ' 最初の10行を読み飛ばし
Next
i = 0
Do While Not EOF(IO2)
i = i + 1
If i > 22 Then Exit Do ' 33 行目になったら抜ける
Line Input #IO2, v
v = strFnm & " " & v ' ファイル名をDataにくっつける
v = Split(v)
Print #IO1, Join(v, ",") ' CSV形式で書込み
Loop
Close #IO2 ' 読込用のファイルClose
strFnm = Dir()
Loop
Print #IO1, vbCrLf
Close #IO1 ' 出力用のファイルClose
Workbooks.Open strDir & expFnm ' 編集したファイルを開く
End Sub
|
|