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()中啊?这个二维数组在以后的编程中用,哪位高人帮帮我?(急急急~)
展开
 我来答
klsjnh
推荐于2018-05-10
知道答主
回答量:24
采纳率:100%
帮助的人:12.6万
展开全部
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
百度网友fde8673
推荐于2016-12-01 · TA获得超过423个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:551万
展开全部
首先导入到一个表格(分隔符为空格)

添加代码:

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里)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式