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

()急如何用excel表转.txt

2012-01-21 
(在线等)急!!!怎么用excel表转.txt怎么用excel 中自带的 VBA 把一个excel的工作目录中的表批量转成.txt文

(在线等)急!!!怎么用excel表转.txt
怎么用excel 中自带的 VBA 把一个excel的工作目录中的表批量转成.txt文档
要求批量转换
例如有以下的excel表格(前面的1\2\3\4代表行号)
1\ bool1  
2\ 12 | aa | 77  
3\ 48 | cc | 88
4\ 89 | yy | 99
5\ ............
取出第一列和第三列的内容要转换为(bool1.txt)(.txt的文件名要用表格中的第一行第一列来自动命名)的内容为
12,77
48,88
89,99
.....

假设工作簿中有100个表,需要批量转换,代码要怎么写??

我写C++的对VBA一点都不熟,连控件在哪里拖都不知道,语法更不知道,请求高手一步一步的指教(跪谢)

要像MFC中一样,弄一个按钮出来,按一下按钮弹出一个选择框,可以让用户选择对应的excel工作簿,然后自动转换成.txt文档存在一个文件夹内

[解决办法]
VBA的做法:
1:打开要转换的Excel文件
2:按Alt+F11
3:拷入下面代码:

VB code
Sub EduceData()    Dim xlsBook As New Workbook    Dim xlsSheet As New Worksheet    Dim strSavePath As String          '文件路径    Dim strSaveFolder As String        '保存文件夹    Dim strLineText As String          '行内容    Dim i, j As Integer        strSaveFolder = "D:\Test1\"        If Dir(strSaveFolder, vbDirectory) = "" Then        MkDir (strSaveFolder)    End If        Set xlsBook = Application.Workbooks(1)         '打开工作薄        For i = 1 To xlsBook.Sheets.Count              '多个Sheet循环        Set xlsSheet = xlsBook.Worksheets(i)        strSavePath = strSaveFolder & xlsSheet.Cells(1, 1) & ".txt"        If Dir(strSavePath) <> "" Then            If MsgBox("文件“" & strSaveFolder & "”已存在,是否替换?", vbYesNo, "提示") = vbYes Then                Kill (strSavePath)                j = 2                Open strSavePath For Output As #1                '写文件                Do Until Len(xlsSheet.Cells(j, 1)) = 0                    strLineText = xlsSheet.Cells(j, 1) & "," & xlsSheet.Cells(j, 3) & vbCr                    Print #1, strLineText                    j = j + 1                Loop                Close #1            End If        End If    Next iEnd Sub 

热点排行