我是用的笨办法,循环了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
你看可不可以这样变通一下: 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
Dim objExcel As Excel.Application Dim objBook As Excel.Workbook Dim objSheet As Excel.Worksheet 用objSheet.Cells(nRow, nCol)=Value填充的方法可以對已開啟的Excel無限次操作
如果在按钮事件中: 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()是可以用变量来解决的。
Dim objExcel As Excel.Application Dim objBook As Excel.Workbook Dim objSheet As Excel.Worksheet 不要把以上幾行放在按鈕事件中,放在form_load中
汗! 寫錯了 Dim objExcel As Excel.Application Dim objBook As Excel.Workbook Dim objSheet As Excel.Worksheet 把以上幾行寫在最前
把 Set objExcel = CreateObject("Excel.Application") Set objBook = objExcel.Workbooks.Add '新增檔 objExcel.Visible = True '可見模式 Set objSheet = objBook.Worksheets(1) 寫在form_load中
大家 都说的不错啊都各有各的创意啊 不过我认为 WANGTOP。。还是更好用啊
dengxingjie(杰西)的方法行不通.
在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"
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
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
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
用objSheet.Cells(nRow, nCol)=Value填充的方法可以對已開啟的Excel無限次操作
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()是可以用变量来解决的。
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
不要把以上幾行放在按鈕事件中,放在form_load中
寫錯了
Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
把以上幾行寫在最前
Set objBook = objExcel.Workbooks.Add '新增檔
objExcel.Visible = True '可見模式
Set objSheet = objBook.Worksheets(1)
寫在form_load中
不过我认为
WANGTOP。。还是更好用啊
在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