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

关于vb与excel的有关问题

2012-03-18 
关于vb与excel的问题程序的要求是将路径为e:\data\xxxx_1xxxx_2....\xxxx_1_A.xlsxxxx_1_B.xlsxxxx_1_

关于vb与excel的问题
程序的要求是将路径为"e:\data\xxxx_1;xxxx_2....\xxxx_1_A.xls;xxxx_1_B.xls;xxxx_1_C.xls;xxxx_2_A.xls ... 中的所有excel电子表格复制到指定的excel工作簿的工作表中 上面的xxxx是数字 需要由文本框输入 至于xxxx_1_A.xls;xxxx_1_B.xls;xxxx_1_C.xls后面的A,B,C是同一编号下不同类型的三种数据 
  具体的说就是无法确定data文件夹下有多少xxxx_1和xxxx_2个文件夹(编号需要测试时才能知道,测试一个产品时就需要建立xxxx_1 xxxx_2两个文件夹 以及下面的三种类型的电子表格) 例如需要将xxxx_1文件夹下的xxxx_1_A.xls;xxxx_1_B.xls;xxxx_1_C.xls 中的指定单元格(比如为range("A1,B2"))分别复制到名称为xxxx_1_A;xxxx_1_B;xxxx_1_C工作表中(假设复制到每个工作表的位置也为range("A1,B2"))并保存为xxxx_1的工作簿 现在需要对data下所有的电子表格进行如上处理 哪位高手知道怎么实现那 说的可能很混乱 但也确实是这样 我只能实现输入具体xxxx 再将相应的数据做这样处理 但是如何批量实现那 通过点击一个按钮 将此过程全部完成?? 
   
 

[解决办法]
请参考

VB code
'取得该目录下的所有excel文件(包括子目录)Sub getFolder(strPath As String)Dim fileCount As IntegerDim subPath As String'目录列表Dim folderList(1000) As String'目录列表下标Dim folderCount As IntegerDim fileList(1000) As StringfolderCount = 0Dim i As Long'取得目录和文件信息subPath = Dir(strPath & "\", vbDirectory)Do While subPath <> ""    '除去上层目录    If subPath <> "." And subPath <> ".." Then            '如果是目录就加入目录列表        If GetAttr(strPath & "\" & subPath) = vbDirectory Then                    folderList(folderCount) = strPath & "\" & subPath            Debug.Print folderList(folderCount)            folderCount = folderCount + 1                    '如果是excel文件就加入文件列表        ElseIf InStr(Right(subPath, 4), "xls") > 0 Then                    fileList(fileCount) = strPath & "\" & subPath            Debug.Print fileList(fileCount)            fileCount = fileCount + 1                End If        End If    '取下一个目录或文件    subPath = DirLoop'如果该目录下还有子目录If folderCount > 0 Then    For i = 0 To folderCount - 1                getFolder (folderList(i))        Next iEnd IfEnd Sub 

热点排行