vb输出格式的问题
1、vb处理完数据之后,输出到文件
Open App.Path & "\3.txt" For Append As #3
Print #3, arr(i - 1, 1)
Print #3, classbpp(1)
Print #3, classtemp(1)
Print #3, output(7)
Print #3, "处理完毕"
Close #3
现在如果其中某一两条记录为空,怎么让他不输出?
比如classbpp(1) 没有值,输出的时候就是一个空行
如果有三条记录都是空的话,输出时就会空出三行,怎么能让没有数据的行不输出?
这段程序是在一个循环里的,每循环一次就要输出几个空行,实在太浪费空间了,请问兄弟有没有办法?
2、classbpp(1)是在一个for-next循环里的
for =1 to 100
classbpp(1) = classbpp(1) & arr(i, 3) & " " & arr(i, 4) &" " & arr(i, 5) &" " & arr(i, 6) &" " & arr(i, 7) & vbNewLine
next
那么,比如执行Print #3, classbpp(1) 时,输出的结果是:
2012001001 张三 体育1 1.0 88 公共必修课 (2007-2008-1)-5030001
2012001001 张三 工程制图基础 4.0 77 公共必修课 (2007-2008-1)-2010001
2012001001 张三 大学计算机基础 3.0 92 公共必修课 (2007-2008-1)-2030053
2012001002 李四 社会学 2.0 75 公共选修课 (2008-2009-2)-3020002
2012001002 李四 基础会计学 3.0 81 学科基础课 (2009-2010-1)-2050048
2012001002 李四 中小企业信息化管理解析 1.5 85 公共选修课 (2009-2010-1)-3020069
2012001002 李四 画法几何及工程制图2 4.0 80 专业选修课 (2009-2010-1)-2040108
2012001002 李四 毛泽东思想和中国特色社会主义理论体系概论 6.0 84 公共必修课 (2009-2010-1)-2060165
2012001003 王五 体育1 1.0 88 公共必修课 (2008-2009-1)-5030001
2012001003 王五 思想道德修养与法律基础 3.0 72 公共必修课 (2008-2009-1)-2060005
2012001003 王五 大学计算机基础 3.0 68 公共必修课 (2008-2009-1)-2030053
我想要的结果是:
2012001001 张三 体育1 1 88 公共必修课 (2007-2008-1)-5030001
2012001001 张三 工程制图基础 4.0 77 公共必修课 (2007-2008-1)-2010001
2012001001 张三 大学计算机基础 0.5 92 公共必修课 (2007-2008-1)-2030053
2012001002 李四 社会学 2.0 75 公共选修课 (2008-2009-2)-3020002
2012001002 李四 基础会计学 3 81 学科基础课 (2009-2010-1)-2050048
2012001002 李四 中小企业信息化管理解析 1.5 85 公共选修课 (2009-2010-1)-3020069
2012001002 李四 画法几何及工程制图2 4 80 专业选修课 (2009-2010-1)-2040108
2012001002 李四 毛泽东思想和中国特色社会主义理论体系概论 6.0 84 公共必修课 (2009-2010-1)-2060165
2012001003 王五 体育1 1.0 88 公共必修课 (2008-2009-1)-5030001
2012001003 王五 思想道德修养与法律基础 3.0 72 公共必修课 (2008-2009-1)-2060005
2012001003 王五 大学计算机基础 3.0 68 公共必修课 (2008-2009-1)-2030053
该怎么做呢?多谢啦~~
[解决办法]
classbpp(1) = classbpp(1) & arr(i, 3) & " " & arr(i, 4) &" " & arr(i, 5) &" " & arr(i, 6) &" " & arr(i, 7) & vbNewLine
有个 vbNewLine 那是一定有值的, 你判断除了vbNewLine后是否有值,没值或字节数不够就去掉 vbNewLine啊
if len(classbpp(1) )< X then
replace(classbpp(1) , vbNewLine,"") '或者直接不print了
end if