ABCD SPACE个人博客上线啦~~~

VBA将文件内容输出到工作表

您可以在大约3分钟内阅读这篇文章。

函数

' 函数名称:comm_print_file_to_sheet
' 功能:将文件内容按行输出到sheet里
' 说明:将文件内容按照参数设定的sheet、开始行、开始列进行输出。
' 参数:
'   - outSheet:输出sheet
'   - rowNum:开始行
'   - colNum:开始列
' 返回值:无
Sub comm_print_file_to_sheet(outSheet As Worksheet, rowNum As Long, colNum As Long)
    Dim fileValues As String        ' 文件内容
    Dim fileValueList() As String   ' 文件内容按行分割后的数组
    Dim separator As String         ' 文件行的分隔符
    Dim i As Long                   ' 循环数组用的计数变量
    
    ' 读取文件
    ' 参考https://blog.abcdspace.com/?p=72
    fileValues = comm_read_textFile("D:\VBA\UTF-8.txt", "UTF-8", -1)
    
    ' 设定文件换行符
    separator = Chr(13) & Chr(10)
    
    ' 利用文件的换行符将读取到的文件内容分割成字符串数组
    fileValueList = Split(fileValues, separator)
    
    ' 循环数组将每行的文件内容输出到参数设定的sheet、开始行、开始列
    ' 文件多行时,从指定的开始行自增
    For i = 0 To UBound(fileValueList)
        outSheet.Cells(rowNum + i, colNum) = fileValueList(i)
    Next
    
End Sub

※读取文件的函数请参考:VBA按照指定编码格式读取文本文件

演示

■文件

■演示

    ' 演示代码
    Dim outFileSheet As Worksheet   ' 定义输出sheet对象
    
    ' 将当前EXCEL文件的"文件输出"sheet赋值给sheet对象
    Set outFileSheet = ThisWorkbook.Worksheets("文件输出")
    
    ' 调用函数(从第3行,第2列开始输出文件内容)
    Call comm_print_file_to_sheet(outFileSheet, 3, 2)

■执行结果


谢谢打赏

评论