TransferSpreadsheet Method

Applies To   DoCmd object.

Description

The TransferSpreadsheet method carries out the TransferSpreadsheet action in Visual Basic. For more information on how the action and its arguments work, see the action topic.

Syntax

DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename, filename
ú[, hasfieldnames][, range]

The TransferSpreadsheet method has the following arguments.

Argument

Description

transfertype

One of the following intrinsic constants:

acImport (default)
acExport
acLink

If you leave this argument blank, the default constant (acImport) is assumed.


(continued)

Argument

Description

spreadsheettype

One of the following intrinsic constants, or equivalent numeric settings:

0 acSpreadsheetTypeExcel3 (default)
6 acSpreadsheetTypeExcel4
5 acSpreadsheetTypeExcel5
5 acSpreadsheetTypeExcel7
8 acSpreadsheetTypeExcel97
2 acSpreadsheetTypeLotusWK1
3 acSpreadsheetTypeLotusWK3
7 acSpreadsheetTypeLotusWK4
4 acSpreadsheetTypeLotusWJ2 — Japanese version only

Note You can link to data in a Lotus 1-2-3 spreadsheet file, but this data is read-only in Microsoft Access. You can import from and link (read-only) to Lotus .WK4 files, but you can't export Microsoft Access data to this spreadsheet format. Microsoft Access also no longer supports importing, exporting, or linking data from Lotus .WKS or Microsoft Excel version 2.0 spreadsheets by using this method.

If you leave this argument blank, the default constant (acSpreadsheetTypeExcel3) is assumed.

tablename

A string expression that's the name of the Microsoft Access table you want to import spreadsheet data into, export spreadsheet data from, or link spreadsheet data to, or the Microsoft Access select query whose results you want to export to a spreadsheet.

filename

A string expression that's the file name and path of the spreadsheet you want to import from, export to, or link to.

hasfieldnames

Use True (–1) to use the first row of the spreadsheet as field names when importing or linking. Use False (0) to treat the first row of the spreadsheet as normal data. If you leave this argument blank, the default (False) is assumed.

When you export Microsoft Access table or select query data to a spreadsheet, the field names are inserted into the first row of the spreadsheet no matter what you enter for this argument.

range

A string expression that's a valid range of cells or the name of a range in the spreadsheet. This argument applies only to importing. Leave this argument blank to import the entire spreadsheet.

When you export to a spreadsheet, you must leave this argument blank. If you enter a range, the export will fail.


Remarks   You can leave an optional argument blank in the middle of the syntax, but you must include the argument's comma. If you leave a trailing argument blank, don't use a comma following the last argument you specify.

Note Although you can use the TransferSpreadsheet method in Visual Basic to link to spreadsheet data, it's recommended that you use Data Access Objects (DAO) instead. To create a link by using DAO, use the Connect property for the TableDef object.

See Also   Connect property ("DAO Language Reference"), CreateTableDef method ("DAO Language Reference"), DoCmd object, OutputTo method, RefreshLink method ("DAO Language Reference"), SendObject method, TableDef object ("DAO Language Reference"), TransferDatabase method, TransferSpreadsheet action, TransferText method.

Example

The following example imports the data from the specified range of the Lotus spreadsheet Newemps.wk3 into the Microsoft Access Employees table. It uses the first row of the spreadsheet as field names.

DoCmd.TransferSpreadsheet acImport, 3, "Employees", _
    "C:\Lotus\Newemps.wk3", True, "A1:G12"