我现在用VB做一个打印票据的程序,
票据的模版是EXCEL文件,
打印不同的票据调用EXCEL文件中不同的工作簿例如,人事表 调用SHEET1
      考勤表 调用SHEET2
      工资表 调用SHEET3
             。
             。
             。我想用一个下拉列表框COMBO,把所有的工作簿名称装载进去,供用户选择Dim ExcApp As Excel.Application  '定义EXCEL对象
Dim ExcWrk As Excel.Workbook  '定义EXCEL文件
Dim ExcShp As Excel.Worksheet  '定义EXCEL工作单Set ExcApp = CreateObject("excel.application")
Set ExcWrk = ExcApp.Workbooks.Open(App.Path & "\TEMP.xls")
Set ExcShp = ExcWrk.Worksheets(1)'打开第一个工作簿    ExcWrk.Names.Count 'EXCEL文件中有多少个工作簿
    ExcShp.Name '当前工作簿的名称但是这样每次只能找到一个工作簿,怎样把所有的工作簿的名称装载到COMBO中?请各位仁兄指教!!

解决方案 »

  1.   

    (名称你还没搞清楚,Workbook---工作簿,Worksheet---工作表)Dim ExcApp As Excel.Application  '定义EXCEL对象
    Dim ExcWrk As Excel.Workbook  '定义EXCEL文件
    Dim ExcShp As Excel.Worksheet  '定义EXCEL工作单Set ExcApp = CreateObject("excel.application")
    Set ExcWrk = ExcApp.Workbooks.Open(App.Path & "\TEMP.xls")
    for each ExcShp in ExcWrk.Worksheets
    combo1.additem ExcShp.name
    next
      

  2.   

    还有,类似的问题,怎么样把一个文件夹内的所有EXCEL文件的文件名加载到COMBO中?
    问题一解决,马上结贴!!!
      

  3.   

    Dim fso
    Dim fd
    Dim fl
    Set fso = CreateObject("scripting.FileSystemObject")
    Set fd = fso.GetFolder("C:\test\")
    For Each fl In fd.Files
      If Right(fl.Name, 4) = ".xls" Then
         Combo1.AddItem fl.Name
      End If
    Next