Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

导出数据到EXCEL后能否直接保存,不用每次导出后打开EXCEL点保存

yuayua  发表于:2019-10-30 12:34:57  
复制

上次得到chinasa的帮助,做了一个数据导出到固定工作簿,不覆盖原来的数据的导出功能

Private Function dc()


 Dim rs As New ADODB.Recordset
    Dim XlApp As Object     'Excel.Application
    Dim xlBook As Object    'Excel.Workbook
    Dim xlSheet As Object   'Excel.Worksheet
    Dim gsnm As String
    Dim XH As Long
   
    Set XlApp = CreateObject("Excel.Application")
    Set xlBook = XlApp.Workbooks.Open("F:\ATR\发货单记录.xls")   '添加一个新的Book
   ' Set xlSheet = xlBook.Worksheets(2)
     'Set xlSheet = xlBook.Worksheets("sheet1") '选择sheet1     '使用当前的Sheet
      gsnm = Me.GsName.Column(1)
     Set xlSheet = xlBook.Worksheets(gsnm)
    Dim strSql As String
    Dim i As Long
    Dim gzbhs As Long
    
    gzbhs = xlSheet.UsedRange.Rows.count + 1
 strSql = "SELECT tblSale.ClientCode,tblSale.ClientName,tblSale.SaleDate, tblSale.Ysm,tblSale.GsName,tblSale.HS,tblSale.SaleStatus, tblSale.ClientCode, tblSale.PriceGrade, tblSale.CurrencyName, tblSale.Rate, tblSaleItem.* " _
                & "FROM tblSale INNER JOIN tblSaleItem ON tblSale.SaleNum = tblSaleItem.SaleNum WHERE tblSale.SaleNum = '" & Me.SaleNum & "' ;"
    rs.Open strSql, CurrentProject.Connection, 1, 1
        Do While Not rs.EOF
            xlSheet.Cells(gzbhs + i, 1) = rs("ClientCode")  '从第2行开始写数据
            xlSheet.Cells(gzbhs + i, 2) = rs("ClientName")
            xlSheet.Cells(gzbhs + i, 3) = rs("SaleNum")
            xlSheet.Cells(gzbhs + i, 4) = rs("SaleDate")
            xlSheet.Cells(gzbhs + i, 5) = rs("StockGroup")
            xlSheet.Cells(gzbhs + i, 6) = rs("Qty")
            xlSheet.Cells(gzbhs + i, 7) = rs("UnitPrice")
            xlSheet.Cells(gzbhs + i, 8) = rs("Amount")
            xlSheet.Cells(gzbhs + i, 9) = rs("Ysm")
            xlSheet.Cells(gzbhs + i, 10) = rs("HS")
            xlSheet.Cells(gzbhs + i, 11) = rs("StockClass")
            xlSheet.Cells(gzbhs + i, 12) = rs("PDescription")
            xlSheet.Cells(gzbhs + i, 13) = Me.GsName.Column(1)
            rs.MoveNext
            i = i + 1
        Loop
    rs.Close
 
   XlApp.Visible = True


  
End Function


现在在一个窗体中输入数据,然后将本次输入的数据导出到固定的EXCEL表,每次导出后,Excel都会打开,能不能直接保存,不用每次打开EXCEL工作簿后再保存

   XlApp.Visible = False

XlApp.Saved = True

XlApp.Quit

也解决不了,虽然没有打开,但是打开电脑热任务管理器,发现进程还在,工作簿也没有自动保存

请大神们赐教

 

Top
chinasa 发表于:2019-10-30 13:53:20
                xlBook.Save
                xlApp.Quit
                Set xlApp = Nothing

yuayua 发表于:2019-10-30 14:00:33
感谢chinasa的热心指导!

总记录:2篇  页次:1/1 9 1 :