用于排除列标题从 Access 2007 传输到 Excel 2007 的代码
Posted
技术标签:
【中文标题】用于排除列标题从 Access 2007 传输到 Excel 2007 的代码【英文标题】:Code to Exclude Column Headings from Transferring to Excel 2007 from Access 2007 【发布时间】:2012-04-17 02:36:27 【问题描述】:这是我正在使用的代码。
它工作正常,但我需要知道排除列标题需要哪些额外代码。
Private Sub Command104ContrDonatWeekly_Click()
On Error GoTo Command104ContrDonatWeekly_Click_Err
DoCmd.OpenQuery "Contributors Who Donated in Past Week", acViewNormal, acEdit
xlfile = "C:\Users\Michael1\Desktop\KSN\DistributionListWeekly.xlsb"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, _
"Contributors Who Donated in Past Week", xlfile, True, "EmailList"
Shell "Excel.exe " & xlfile, vbNormalFocus
Command104ContrDonatWeekly_Click_Exit:
Exit Sub
Command104ContrDonatWeekly_Click_Err:
MsgBox Error$
Resume Command104ContrDonatWeekly_Click_Exit
End Sub
这是来自
的一些代码How to write VBA code to hide all the column and row headings in Excel?
我不太清楚需要用我已经在使用的代码将它放在哪里。
Private Sub hideHeadings()
Dim wrkbk As Workbook
Dim wrksh As Worksheet
Dim prev As Window
Set prev = ActiveWindow
For Each wrkbk In Workbooks
For Each wrksh In wrkbk.Worksheets
wrksh.Activate
ActiveWindow.DisplayHeadings = False
Next wrksh
Next wrkbk
prev.Activate
End Sub
【问题讨论】:
除非我遗漏了什么,否则为什么不创建一个只包含您想要的输出的新查询? 如何在数据表视图中隐藏 Access 查询的列标题? 哈,对不起...我把列标题误读为列。 【参考方案1】:来自访问:
Sub XLTrans()
''Reference: Microsoft ActiveX Data Object x.x Library
Dim rs As New ADODB.Recordset
Dim xl As Object ''Excel.Application
Dim wb As Object ''Workbook
Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Add
''Connection relevant for 2007 or 2010
rs.Open "MyTableOrQuery", CurrentProject.AccessConnection
wb.Sheets(1).Cells(1, 1).CopyFromRecordset rs
xl.Visible = True
End Sub
【讨论】:
在 MS Access 模块中。它不是使用 TransferSpreadsheet。顺便说一句,最好在最初的问题中说明您的所有要求以及您尝试过的任何解决方案。 ty,现在我收到一条错误无效的 SQL 语句,所以我正在努力解决这个问题 @HelloWorld 你的sql语句是什么? 好吧,我有 rs.Open "Query1", CurrentProject.AccessConnection, Query1 只是一个占位符名称。它是一个参数查询,根据输入的开始和结束日期进行计算 @Remou 新 ADODB 声明是否有特定原因我将其切换到 DAO 并添加了 QueryDef,它似乎工作正常。【参考方案2】:如果您坚持使用转帐电子表格;
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "tbl_one", xlfile, True
Dim xl As Object
Dim wb As Object
Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Open(xlfile)
xl.DisplayAlerts = False
With wb.Worksheets(1)
.Rows(1).Delete
End With
wb.Save
xl.Visible = True
【讨论】:
以上是关于用于排除列标题从 Access 2007 传输到 Excel 2007 的代码的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据库从 MS access 2007 导出到 MySQL? [关闭]
FindFirst NoMatch 基于 Access 2007 表中的 2 列