我知道Me是对当前窗口的引用,optExport是一个内部对象,但具体是什么含义就搞不懂了?
整段代码是将一个Access数据库中的一个表导出到一个excel文件中。
Private Sub Command86_Click()
Dim fReturn As Boolean
Dim strAction As String
Dim strObject As String
Dim intType As Integer
Dim strMsg As String
On Error GoTo HandleErr
strAction = Choose(Me!optExport, "Excel", "RTF", "Text")
strObject = "测试字符串"
fReturn = ImportExportData(strAction, strObject, intType)
ExitHere:
Exit Sub
HandleErr:
Select Case Err
Case Else
MsgBox Err & ": " & Err.Description, vbCritical, _
"错误发生在 Form_导入导出.cmdGo_Click"
Resume ExitHere
End Select
End Sub
6 个解决方案
#1
Me!optExport 是窗体上的一个控件,名字叫 optExport
#2
关于此主题请参考:
access 导出到 Excel 提速之法《OA》
http://access911.net/index.asp?u1=a&u2=74FAB41E1ADC
关于此主题请参考:
如何用 Docmd.OutputTo 将查询导出为 Excel 97-2003 ...
http://access911.net/index.asp?u1=a&u2=72FAB11E12DCE8F3
access 导出到 Excel 提速之法《OA》
http://access911.net/index.asp?u1=a&u2=74FAB41E1ADC
关于此主题请参考:
如何用 Docmd.OutputTo 将查询导出为 Excel 97-2003 ...
http://access911.net/index.asp?u1=a&u2=72FAB11E12DCE8F3
#3
方法太多了,这里还有一个
全部显示
TransferSpreadsheet 方法
参阅应用于示例特性在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“应用于”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注释 可以链接 Lotus 1-2-3 电子表文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入和链接 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出到此电子表格式中。而且,Microsoft Access 不再支持使用此方法导入、导出或链接 Lotus .WKS 或 Microsoft Excel 2.0 电子表中的数据。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注释 还可以通过使用 Recordset 对象的 ActiveConnection 属性,来使用 ActiveX 数据对象 (ADO) 创建链接。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
全部显示
TransferSpreadsheet 方法
参阅应用于示例特性在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“应用于”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注释 可以链接 Lotus 1-2-3 电子表文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入和链接 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出到此电子表格式中。而且,Microsoft Access 不再支持使用此方法导入、导出或链接 Lotus .WKS 或 Microsoft Excel 2.0 电子表中的数据。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注释 还可以通过使用 Recordset 对象的 ActiveConnection 属性,来使用 ActiveX 数据对象 (ADO) 创建链接。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
#4
谢谢,牛人啊!明天试试,成功了就结帐!
#5
Me!optExport是当前窗体的一个控件,其名字是optExport,
可以用宏进行转换,另存为模块即可看到代码。
可以用宏进行转换,另存为模块即可看到代码。
#6
我知道optExport是当前窗体的一个控件,而且我还知道这个控件是系统内置的控件,不是人为添加到窗口上的(通过在代码窗口查看定义可以得知),但是我不知道这个控件具体是指窗口上哪个控件!
我用鼠标找完了可见的控件,都不是它!
另外,To:changechange(http://access911.net 是我的个人网站,欢迎光临)
Excel的导出方法好使,谢谢了!
稍候结帐给分!
我用鼠标找完了可见的控件,都不是它!
另外,To:changechange(http://access911.net 是我的个人网站,欢迎光临)
Excel的导出方法好使,谢谢了!
稍候结帐给分!
#1
Me!optExport 是窗体上的一个控件,名字叫 optExport
#2
关于此主题请参考:
access 导出到 Excel 提速之法《OA》
http://access911.net/index.asp?u1=a&u2=74FAB41E1ADC
关于此主题请参考:
如何用 Docmd.OutputTo 将查询导出为 Excel 97-2003 ...
http://access911.net/index.asp?u1=a&u2=72FAB11E12DCE8F3
access 导出到 Excel 提速之法《OA》
http://access911.net/index.asp?u1=a&u2=74FAB41E1ADC
关于此主题请参考:
如何用 Docmd.OutputTo 将查询导出为 Excel 97-2003 ...
http://access911.net/index.asp?u1=a&u2=72FAB11E12DCE8F3
#3
方法太多了,这里还有一个
全部显示
TransferSpreadsheet 方法
参阅应用于示例特性在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“应用于”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注释 可以链接 Lotus 1-2-3 电子表文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入和链接 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出到此电子表格式中。而且,Microsoft Access 不再支持使用此方法导入、导出或链接 Lotus .WKS 或 Microsoft Excel 2.0 电子表中的数据。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注释 还可以通过使用 Recordset 对象的 ActiveConnection 属性,来使用 ActiveX 数据对象 (ADO) 创建链接。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
全部显示
TransferSpreadsheet 方法
参阅应用于示例特性在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“应用于”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注释 可以链接 Lotus 1-2-3 电子表文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入和链接 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出到此电子表格式中。而且,Microsoft Access 不再支持使用此方法导入、导出或链接 Lotus .WKS 或 Microsoft Excel 2.0 电子表中的数据。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注释 还可以通过使用 Recordset 对象的 ActiveConnection 属性,来使用 ActiveX 数据对象 (ADO) 创建链接。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
#4
谢谢,牛人啊!明天试试,成功了就结帐!
#5
Me!optExport是当前窗体的一个控件,其名字是optExport,
可以用宏进行转换,另存为模块即可看到代码。
可以用宏进行转换,另存为模块即可看到代码。
#6
我知道optExport是当前窗体的一个控件,而且我还知道这个控件是系统内置的控件,不是人为添加到窗口上的(通过在代码窗口查看定义可以得知),但是我不知道这个控件具体是指窗口上哪个控件!
我用鼠标找完了可见的控件,都不是它!
另外,To:changechange(http://access911.net 是我的个人网站,欢迎光临)
Excel的导出方法好使,谢谢了!
稍候结帐给分!
我用鼠标找完了可见的控件,都不是它!
另外,To:changechange(http://access911.net 是我的个人网站,欢迎光临)
Excel的导出方法好使,谢谢了!
稍候结帐给分!