首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于excel文件转成txt文本文件的有关问题

2012-01-16 
关于excel文件转成txt文本文件的问题我有一个excel文件格式如下:第一列第二例第三例第四列第五列期初余额

关于excel文件转成txt文本文件的问题
我有一个excel文件格式如下: 
第一列 第二例 第三例 第四列 第五列 
  期初余额 本期增加 本期减少 项目单位 
aa 111 222 333 北京科技局 
  12 23 34 45 
以上是报表部分格式,我想将此报表导出成txt文本格式如下: 
  第一列 如果有数据就用0表示,没有就不填,第二列添报表中数据的行号,第三列添报表中有数据的列次,第四列根据报表的数据添相应的数据类型(3-数字形,5-字符型),第五列添报表单元格数值。 
  以上excel导出的txt文本应为: 
  第一列 第二例 第三例 第四列 第五列 
  0 1 2 3 111 
  0 1 3 3 222 
  0 1 4 3 333 
  0 1 5 5 北京科技局 
以上就是我想实现的效果,如何用vba语言实现,请大家帮忙,谢谢!

[解决办法]
Private Sub Command1_Click()Sub Command1_Click()
TxtToExcel "E:\1.txt", " " 
End Sub

Sub TxtToExcel()Sub TxtToExcel(txtFile As String, DistanceChar As String)
On Error GoTo L
'建立excel对象
Dim XlApp As New Excel.Application
Dim XlWb As New Excel.Workbook
Dim XlSt As New Excel.Worksheet
Set XlApp = CreateObject("Excel.Application")
Set XlWb = XlApp.Workbooks.Add
XlWb.SaveAs FileName:=Left(txtFile, Len(txtFile) - 4) & ".xls"
Set XlSt = XlWb.Worksheets(1)
'开始转换
Dim i As Integer, j As Integer, linenext As String, strb() As String
j = 1
Open txtFile For Input As #1
Do Until EOF(1)
Line Input #1, linenext
strb = Split(linenext, DistanceChar)
For i = 0 To UBound(strb)
XlSt.cells(j, i + 1) = strb(i)
Next
j = j + 1
Loop
Close #1
'结束,释放空间
XlWb.Save
XlWb.Close
XlApp.quit
MsgBox "finished"
Exit Sub
L:
MsgBox "Wrong"
End Sub
[解决办法]
支持搂主,收藏
[解决办法]
不知,帮顶

热点排行