如题!

解决方案 »

  1.   

    我是用的笨办法,循环了do 
      if 数据填满 then
           '另存或输出打印
          xlBook.Close
          xlApp.Quit
          Set Sheet = Nothing
          Set xlBook = Nothing
          Set xlApp = Nothing
         Set xlApp = New Excel.Application
          Set xlBook = xlApp.Workbooks.Open(App.path & "\print.xls", , True)
          Set xlSheet = xlBook.Worksheets("Sheet1")
       endif
       '填充数据
    loop
     '另存或输出打印
     xlBook.Close
     xlApp.Quit
     Set Sheet = Nothing
     Set xlBook = Nothing
     Set xlApp = Nothing
      

  2.   

    你看可不可以这样变通一下:
    dim iIndex as integer
    iIndex = 1
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(App.path & "\print.xls", , True)
    Set xlSheet = xlBook.Worksheets(iIndex)
    do 
      if 数据填满 then
         if iIndex < 10 then
         iIndex = iIndex + 1
         xlBook.xlSheet.Add
         Set xlSheet = xlBook.xlSheet(iIndex)
         '填充数据
         end if
      end if
    loop
     '另存或输出打印
     xlBook.Close
     xlApp.Quit
     Set Sheet = Nothing
     Set xlBook = Nothing
     Set xlApp = Nothing
      

  3.   

    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    用objSheet.Cells(nRow, nCol)=Value填充的方法可以對已開啟的Excel無限次操作
      

  4.   

    如果在按钮事件中:
    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    用objSheet.Cells(1,1 )填充
    这只是第一次操作,启动EXCEL、写入数据。但程序并未退出,在修改了窗体数据后,第二次单击按钮,将修改后的数据送入 objSheet.Cells(2,1 )
    问题是:
    第二次单击按钮时,又启动了一个新的工作簿,数据并没有写入第一个工作簿。各位高手可以试试,是不是?如何做到每次单击按钮将数据送入同一个工作簿的同一个工作表。当然objSheet.Cells()是可以用变量来解决的。
      

  5.   

    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    不要把以上幾行放在按鈕事件中,放在form_load中
      

  6.   

    汗!
    寫錯了
    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    把以上幾行寫在最前
      

  7.   

    把 Set objExcel = CreateObject("Excel.Application")
       Set objBook = objExcel.Workbooks.Add '新增檔
       objExcel.Visible = True '可見模式
       Set objSheet = objBook.Worksheets(1)
    寫在form_load中
      

  8.   

    大家 都说的不错啊都各有各的创意啊  
    不过我认为
    WANGTOP。。还是更好用啊
      

  9.   

    dengxingjie(杰西)的方法行不通.
      

  10.   


    在excel中新建两个宏
    Sub auto_open()
      Open "c:\excel.bzz" For Output As #1 '写标志文件
      Close #1
    End Sub
    Sub auto_close()
      Kill "c:\excel.bzz" '删除标志文件
    End Sub在VB添加数据的代码,我是建了一个固定的文件
     If Dir("c:\excel1.bz") = "" Then '判断EXCEL是否打开
      
       Set xlapp = New Excel.Application
       Set xlapp = CreateObject("Excel.Application") ' 激活EXCEL 应用程序
       strSource = "\\qgt13-3\人事管理\gbhmc.xls"
      strDestination = "c:\Temp.xls"
      
      FileCopy strSource, strDestination '
      
      Set xlbook = xlapp.Workbooks.Open(strDestination) ' 打开工作簿,strDestination 为一个Excel 报表文件
            xlbook.RunAutoMacros (xlAutoOpen) '运行EXCEL中的启动宏
     
          xlapp.Visible = True   ' 隐藏Excel 应用程序窗口
      Else
         'Set xlapp = GetObject("excel.application")
         Set xlbook = GetObject("C:\temp.xls")
         
      End If