繁体   English   中英

使用宏将文本文件内容和文本文件名称导入 Excel

[英]Import text files contents and name of text file into Excel with a macro

我在下面有这段代码,它部分有效。

  • Cats.txt(内容:灰色、蓝色、黑色)
  • Dogs.txt(内容:粉色、红色、橙色)
  • Cow.txt(内容:黑、白)

这就是我想要得到的:

在此处输入图像描述

Dim objFSO    As Object
Dim objFolder As Object
Dim objFile   As Object
Dim strPath   As String
Dim strName   As String

' Specify the folder...
strPath = "C:\Users\User\Desktop\TEST\"
' Use Microsoft Scripting runtime.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strPath)
' Check extension of each file in folder.
For Each objFile In objFolder.Files
If Right(objFile.Name, 4) = ".txt" Then
Cells(i + 1, 1) = objFile.Name

    i = i + 1

End If
End Sub

不幸的是,我无法将文本文件的内容导入 B 列。我一直在网上寻找说实话我有点不成功。

尝试这样的事情。 确保添加对“Microsoft Scripting Runtime”的引用...

Option Explicit

Sub load()

    ' ADD REFERENCE TO MICROSOFT FILE SYSTEM OBJECT

    Dim objFSO As FileSystemObject
    Dim objFolder As Folder
    Dim objFile As File
    Dim objTextStream As TextStream
    Dim strPath As String
    Dim i As Long

    ' Specify the folder...
    strPath = "C:\Users\User\Desktop\TEST\"

    ' Use Microsoft Scripting runtime.
    Set objFSO = New FileSystemObject
    Set objFolder = objFSO.GetFolder(strPath)

    ' Check extension of each file in folder.
    For Each objFile In objFolder.Files
        If objFSO.GetExtensionName(objFile.Name) = "txt" Then
            Cells(i + 1, 1) = objFile.Name
            Set objTextStream = objFile.OpenAsTextStream(ForReading)
            Cells(i + 1, 2) = objTextStream.ReadAll
            i = i + 1
        End If
    Next
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM