Office中国论坛/Access中国论坛

标题: ACCESS 如何 导出EXCEL 模板成一新文件 或 分不同 SHEET [打印本页]

作者: liumporite    时间: 2013-5-22 12:19
标题: ACCESS 如何 导出EXCEL 模板成一新文件 或 分不同 SHEET
ACCESS 如何 导出EXCEL 模板成一新文件 或 分不同 SHEET
作者: aslxt    时间: 2013-5-22 14:25
本帖最后由 aslxt 于 2013-5-22 14:32 编辑

分不同的sheet,在你的代码上进行最少的变动,并在变动的地方加以说明了,方便理解:
Private Sub 评估表_Click()
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim I As Long
   
xlApp.Application.Visible = True
Set xlBook = xlApp.Workbooks.Open(CurrentProject.Path + "\制造可行性评估表.xls") '变动:原有xlt文件不知如何增加工作表
xlBook.Application.Sheets(1).Select
For I = 1 To Me.报价子窗体.Form.RecordsetClone.RecordCount '变动:根据记录数量在工作簿中添加相应的工作表
   Worksheets("Sheet1").Copy After:=Worksheets("Sheet1")'复制模板到新工作表中粘贴
ext I

For I = 1 To Me.报价子窗体.Form.RecordsetClone.RecordCount
Me.报价子窗体.Form.SelTop = I
    xlBook.Worksheets("Sheet1 (" & I + 1 & ")").Activate '变动:根据记录激活不同的工作表,便于输出数据
    'xlBook.Application.Cells(1, 1).Value = [Forms]![frmSysMain]![txtCurrentUser]
    xlBook.Application.Cells(I + 1, 3).Value = Me.报价子窗体.Controls("编号").Value
    xlBook.Application.Cells(I + 3, 6).Value = Me.报价子窗体.Controls("产品类别").Value
    xlBook.Application.Cells(I + 4, 6).Value = Me.报价子窗体.Controls("技术编号").Value
    xlBook.Application.Cells(I + 7, 8).Value = Me.报价子窗体.Controls("客户询价单编码").Value
    xlBook.Application.Cells(I + 4, 8).Value = Me.报价子窗体.Controls("客户").Value
    xlBook.Application.Cells(I + 5, 6).Value = Me.报价子窗体.Controls("报价图号").Value
    xlBook.Application.Cells(I + 5, 8).Value = Me.报价子窗体.Controls("接受时间").Value
    xlBook.Application.Cells(I + 5, 10).Value = Me.报价子窗体.Controls("要求时间").Value
    xlBook.Application.Cells(I + 5, 12).Value = Me.报价子窗体.Controls("邮件").Value
    xlBook.Application.Cells(I + 6, 6).Value = Me.报价子窗体.Controls("品名").Value
    xlBook.Application.Cells(I + 6, 8).Value = Me.报价子窗体.Controls("预示量").Value
    xlBook.Application.Cells(I + 6, 10).Value = Me.报价子窗体.Controls("客户担当").Value
    xlBook.Application.Cells(I + 6, 12).Value = Me.报价子窗体.Controls("电话").Value
    xlBook.Application.Cells(I + 8, 7).Value = "询价目的:" & Me.报价子窗体.Controls("新品否").Value & "  /   目标价:" & Me.报价子窗体.Controls("目标价格").Value
    xlBook.Application.Cells(I + 9, 7).Value = Me.报价子窗体.Controls("预示量").Value
    xlBook.Application.Cells(I + 10, 7).Value = Me.报价子窗体.Controls("其他公司").Value
    xlBook.Application.Cells(I + 11, 7).Value = "机型:" & Me.报价子窗体.Controls("机型").Value & "   /   用途:" & Me.报价子窗体.Controls("用途").Value
    xlBook.Application.Cells(I + 12, 7).Value = Me.报价子窗体.Controls("类似品").Value
    xlBook.Application.Cells(I + 14, 7).Value = Me.报价子窗体.Controls("报价策略").Value
    xlBook.Application.Cells(I + 15, 7).Value = Me.报价子窗体.Controls("备注").Value
Next
xlBook.SaveAs CurrentProject.Path + "\制造可行性评估表1.xls" '变动:另存为不同的文件名,
Set xlApp = Nothing
Set xlBook = Nothing
End Sub

作者: aslxt    时间: 2013-5-22 14:31
“制造可行性评估表.xls”,实际上是新建的xls文件,有一张工作表,叫做“sheet1”,表中的内容为复制你.xlt文件的内容,并保存在相同目录下。
作者: access新闻爱好者    时间: 2013-5-22 14:58
可以参考这个实例[attach]51832[/attach]  只要是添加一个Dim xlsSheet As Excel.Worksheet
作者: ljp518    时间: 2013-5-22 15:03
{:soso_e163:}
作者: liumporite    时间: 2013-5-22 16:24
不行耶 如果一个客户筛选出几个产品 一个产品按照模板表格生成一个单独的表格 或单独的sheet
作者: liumporite    时间: 2013-5-24 07:55
如果查询几个数据,只有第一个表有数据,其余空白。
作者: aslxt    时间: 2013-5-24 09:56
本帖最后由 aslxt 于 2013-5-24 09:59 编辑
liumporite 发表于 2013-5-24 07:55
如果查询几个数据,只有第一个表有数据,其余空白。


是不是在子窗体没有记录的时候出错?
如果是,则在
if Me.报价子窗体.Form.RecordsetClone.RecordCount>1 THEN

For I = 1 To Me.报价子窗体.Form.RecordsetClone.RecordCount
...
next i

END IF
作者: weidunw    时间: 2013-5-29 20:37
多谢二楼分享。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3