Excel VBA 質問スレ Part68

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
垢版 |
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/08/30(日) 12:04:22.80ID:y5djTSPl0
IEの代わりは何使えばいいの?
2020/08/30(日) 12:07:17.32ID:IcnEVpl4a
4デフォルトの名無しさん (スッップ Sd22-WkEz)
垢版 |
2020/08/30(日) 12:41:50.27ID:wybDtxdZd
以下の特徴を持つ書き込みは無視するか罵倒されます。

・「教えて」「助けて」で始まる質問者の頭が悪いことが容易にわかる質問
・自分で考えるともせず全部作ってもらおうとする厚かましい質問
・VBA、マクロに関係ないExcelの質問
・自分のために利用するだけ利用してやろうと、後出しで条件を付け加える人
5デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
垢版 |
2020/08/30(日) 20:36:42.00ID:Cc0wen40a
Testフォルダの中に複数のテキストファイルがあり、それぞれのテキストファイルの中身を1つのエクセルシートに取り込みたいのですが、うまくいきません。
test()をfunc()の中で使えないか考えています。
Sub fun()
Dim fso, file, files
Dim folderPath As String: folderPath = "G:\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(folderPath).files

For Each file In files
Dim wb As Workbook
'Set wb = Workbooks.Open(file)

Dim ts As Object
Set ts = fso.OpenTextFile(file, ForReading)

'Call wb.Close(SaveChanges:=False)

Next file
End Sub
6デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
垢版 |
2020/08/30(日) 20:37:09.10ID:Cc0wen40a
Sub test()
Dim folderPath As String: folderPath = "G:\Test\"
Dim textLine, fileName As String
Dim fileToOpen As Integer
Dim i As Integer
fileName = folderPath & "01.txt"
fileToOpen = FreeFile()

Open fileName For Input As fileToOpen

i = 1

While Not EOF(fileToOpen)
Line Input #fileToOpen, textLine
Cells(1, i).Value = textLine
i = i + 1
Wend
End Sub
7デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
垢版 |
2020/08/30(日) 21:02:31.41ID:Cc0wen40a
すみません。何とか事故解決しました。
もしこう書けばより良いとアドバイス頂けたら幸いです。
Sub fun()
Dim fso, file, files
Dim folderPath As String: folderPath = "G:\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(folderPath).files

Dim j As Integer

For Each file In files
Dim wb As Workbook
'Set wb = Workbooks.Open(file)

Dim ts As Object
Set ts = fso.OpenTextFile(file)
Dim i As Integer: i = 1
j = j + 1
Do Until ts.AtEndOfStream
Cells(j, i).Value = ts.ReadLine
i = i + 1
Loop
ts.Close
'Call wb.Close(SaveChanges:=False)
Next file
End Sub
2020/08/30(日) 22:17:56.28ID:dZGkK/a70
入門レベルで横槍入れるようで申し訳ないのですが
forループ以前とループ内でのDim〜は何が違いますか?
■ このスレッドは過去ログ倉庫に格納されています