vba中如何读取文件中的数据,并赋值给一个二维数组
我的原文件如下:1"0"010002"0"300010003"0"040004"0"10030005"2"35030006"2"35030507"2"40030508"2...
我的原文件如下:
1 "0" 0 100 0
2 "0" 3000 100 0
3 "0" 0 400 0
4 "0" 100 300 0
5 "2" 350 300 0
6 "2" 350 305 0
7 "2" 400 305 0
8 "2" 400 300 0
9 "3" 500 300 0
10 "3" 620 450 0
11 "3" 780 600 0
12 "3" 910 700 0
13 "3" 1200 700 0
14 "3" 1400 580 0
15 "3" 1600 250 0
16 "4" 1700 250 0
17 "4" 1720 270 0
18 "4" 1730 270 0
19 "4" 1730 250 0
20 "5" 2000 250 0
21 "5" 2000 220 0
22 "5" 2100 220 0
23 "5" 2100 250 0
24 "1" 2200 300 0
25 "6" 2350 300 0
26 "6" 2350 315 0
27 "6" 2400 315 0
28 "6" 2400 300 0
29 "7" 2600 300 0
30 "7" 2600 315 0
文件保存的路径是:C:\Documents and Settings\HP\桌面\gro.txt
请问我如何将该文件读入到一个二维数组a()中啊?这个二维数组在以后的编程中用,哪位高人帮帮我?(急急急~) 展开
1 "0" 0 100 0
2 "0" 3000 100 0
3 "0" 0 400 0
4 "0" 100 300 0
5 "2" 350 300 0
6 "2" 350 305 0
7 "2" 400 305 0
8 "2" 400 300 0
9 "3" 500 300 0
10 "3" 620 450 0
11 "3" 780 600 0
12 "3" 910 700 0
13 "3" 1200 700 0
14 "3" 1400 580 0
15 "3" 1600 250 0
16 "4" 1700 250 0
17 "4" 1720 270 0
18 "4" 1730 270 0
19 "4" 1730 250 0
20 "5" 2000 250 0
21 "5" 2000 220 0
22 "5" 2100 220 0
23 "5" 2100 250 0
24 "1" 2200 300 0
25 "6" 2350 300 0
26 "6" 2350 315 0
27 "6" 2400 315 0
28 "6" 2400 300 0
29 "7" 2600 300 0
30 "7" 2600 315 0
文件保存的路径是:C:\Documents and Settings\HP\桌面\gro.txt
请问我如何将该文件读入到一个二维数组a()中啊?这个二维数组在以后的编程中用,哪位高人帮帮我?(急急急~) 展开
2个回答
展开全部
Public Function readFileToVariable(strFileName)
'===============================================
' 读取文本文件到一个变量
' @Param strFileName String 文件路径
' @Retrun String 文本文件的内容
' @Ver 0.1
' @Date 2015.9.25
'===============================================
Const ForReading = 1 '文件只读常量
Dim objFso, objFile 'FSO,文件
Dim strFile '文件内容
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile(strFileName, ForReading)
readFileToVariable = objFile.ReadAll
objFile.Close
End Function
Public Function readFileToArray(strFileName)
'===============================================
' 读取文本文件到一个数组
' @Param strFileName String 文件路径
' @Retrun Array 文本文件的内容
' @Ver 0.3
' @Date 2015.9.29
' @Comment
' 修正函数名拼写错误的Bug
' By klsjnh@qq.com
'===============================================
Dim strFile
strFile = readFileToVariable(strFileName)
readFileToArray = Split(strFile, vbCrLf)
End Function
'===============================================
' 读取文本文件到一个变量
' @Param strFileName String 文件路径
' @Retrun String 文本文件的内容
' @Ver 0.1
' @Date 2015.9.25
'===============================================
Const ForReading = 1 '文件只读常量
Dim objFso, objFile 'FSO,文件
Dim strFile '文件内容
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile(strFileName, ForReading)
readFileToVariable = objFile.ReadAll
objFile.Close
End Function
Public Function readFileToArray(strFileName)
'===============================================
' 读取文本文件到一个数组
' @Param strFileName String 文件路径
' @Retrun Array 文本文件的内容
' @Ver 0.3
' @Date 2015.9.29
' @Comment
' 修正函数名拼写错误的Bug
' By klsjnh@qq.com
'===============================================
Dim strFile
strFile = readFileToVariable(strFileName)
readFileToArray = Split(strFile, vbCrLf)
End Function
展开全部
首先导入到一个表格(分隔符为空格)
添加代码:
Private a() As Long
Public Sub ReadCells()
ReDim a(5, 30)
Dim x As Long, y As Long
For x = 1 To 5
For y = 1 To 30
a(x, y) = Sheet1.Cells(y, x)
Next
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ReadCells
MsgBox a(3, 3)
End Sub
(下面的是一个测试,代码定义在Sheet1里)
添加代码:
Private a() As Long
Public Sub ReadCells()
ReDim a(5, 30)
Dim x As Long, y As Long
For x = 1 To 5
For y = 1 To 30
a(x, y) = Sheet1.Cells(y, x)
Next
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ReadCells
MsgBox a(3, 3)
End Sub
(下面的是一个测试,代码定义在Sheet1里)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询