admin 管理员组文章数量: 1086019
2024年1月10日发(作者:windows连接ssh)
vba 读取txt加减乘除运算
读取txt文件内容方法:
input:从文件中读取指定数量的字符。
Input #:把数据读出放在变量里,变量用逗号分隔
Line Input #:取出完整的一行
•
•
•
搭配使用到的两个函数:
EOF(文件编号) 返回文本文件结尾。
LOF(文件编号) 判断文本文件的长度。
一、Input读取方式
Input 函数只用于以 Input 或 Binary 方式打开的文件,返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。
例1:读取,返回每个字符及其Asc值。
Sub d1()
On Error Resume Next '出现错误跳转到下一步
Dim f, mychar
f = & "/"
Open f For Input As #1
Do While Not EOF(1) '循环至文件尾,EOF文件结尾
mychar = Input(3, #1) '读入一个字符
mychar & ":" & Asc(mychar)'显示到立即窗口。
Loop '按顺序读取,到下一个字符串,直至文件都读取完毕
Close #1
End Sub
运行结果
例2:把的内容一次性读取出来。
Sub d2()
Dim f, mychar, n, L
f = & "/"
n = FreeFile '所有文本内容
Open f For Input As n
L = LOF(n) 'LOF判断文本文件的长度(字节)
mychar = Input(L - 6, n) '要减去中文字符的个数(见下方注释)
mychar '显示到立即窗口。
Close #1
End Sub
注释:LOF判断文本文件的长度是字节数,并非字符个数。英文和数字都是一个字节,中文是两个字节,而inpt是输出字符个数,所以要用字节数将去中文字符个数才能得到总的字符个数。
运行结果
二、Input#读取方式
nput #读取
input 文件号(#…),变量1,变量2,..变量N
input #常用来读取write写的内容(分隔符为逗号,加双引号) 读非write文件会乱位。(write文件详见上篇笔记。
例3:用input #方式读取。
Sub d3()
Dim f, x
f = & ""
Open f For Input As #1
Do While Not EOF(1) '读取文本直至文本结尾
Input #1, x
x
Loop
Close #1
End Sub
运行结果:
可以看到入库日期不准确,数据位置也有些错位,那是因为不是write写入的文件。
那么我们换一个write写入的文件。
例4:用input #方式读取。
复习:write写入的文本,会自动生成逗号分隔数据,字符串被加双引号,日期会被两个#号包围。
Sub d4()
Dim f, y1, y2, y3, y4, y5
f = & ""
Open f For Input As #1
Do While Not EOF(1) '循环到文本结尾
Input #1, y1, y2, y3, y4, y5 '一起获取同一行的五个数据,然后用空格分隔,在立即窗口输出
y1 & " " & y2 & " " & y3 & " " & y4 & " " &
y5
Loop
Close #1
End Sub
运行结果:
自动去除了多余的符号,只留下数据。
三、Line Input读取方式
Line Input 文件号,变量 取出完整的一行。
例5:用Line Input方式读取。(write写入的文本)
Sub d5()
Dim f, sr
f = & ""
Open f For Input As #1
Do While Not EOF(1)
Line Input #1, sr
sr
Loop
Close #1
End Sub
运行结果:
将所有文本内容一字不差地全部读取,没有去除write写入的符号,所以Line Input不适合write写入的文本。
1、首先选中Excel表格,双击打开。
2、然后在该界面中,选中要显示公式计算加减乘除混合运算结果的单元格。
3、然后在该界面中,公示栏中输入加减乘除混合运算的公式,如“= (A1+A2-A3)*A4/A5”。 4、其次在该界面中,点击“确定”按钮。
版权声明:本文标题:vba 读取txt加减乘除运算 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1704851525a464311.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论