6

我想读取由 c 编写的文件,其中每行由 /n 分隔。我想读取该文件并将其与 Excel 上的数据进行比较。我用过input #1, data。但我想用“,”(逗号)读一行,所以我用了Line Input #1, data.

当我用excel上的数据检查“数据”时,虽然它们是一样的,但它说的是假的。

Activecell="KVK"
Line Input #1,data
msgbox ActiveCell=data

即使数据是 KVK,也会打印错误。

感谢和问候提前帮助,Vamshi krishna

Dim fpath, fnum, s
fpath = Application.GetOpenFilename
fnum = FreeFile
Open fpath For Input As fnum
Range("A1").Activate

Do While Not EOF(fnum)
Line Input #fnum, s
'Input #fnum, s

MsgBox s & " = " & ActiveCell & "  "
MsgBox s = ActiveCell
ActiveCell.Offset(1, 0).Select
Loop

.txt 有

12
13
14

第一列的数据

12
13
14
4

2 回答 2

4

试试下面的代码:

Sub InputImage()

    Dim FileNum As Integer, i As Integer
    Dim fpath As String, s As String, cellVal As String

    fpath = Application.GetOpenFilename


    FileNum = FreeFile()
    Open fpath For Input As #FileNum

    i = 1
    While Not EOF(FileNum)
        Line Input #FileNum, s    ' read in data 1 line at a time

        cellVal = CStr(Cells(i, 1).Value)

        MsgBox s & " = " & cellVal & "  "
        MsgBox s = cellVal
        ActiveCell.Offset(1, 0).Select

        i = i + 1
    Wend


End Sub

如果您在监视窗口中检查 cell(i,1).Value 的数据类型,则显示 Variant/Double。所以需要转换成字符串。

在此处输入图像描述

于 2013-03-18T10:42:42.727 回答
0

或者使用Scripting库中的TextStream,效果会好很多。

并且请在完成后关闭文件,您一定是那种在完成后不将牛奶放回冰箱并为所有人破坏它的人。

于 2013-03-20T17:35:52.023 回答