函数
' 函数名称: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)
■执行结果
评论