次の方法で共有


ImportExportSpreadsheet マクロ アクション

適用先: Access 2013、Office 2013

ImportExportSpreadsheet アクションを使用すると、カレントの Access データベース (.mdb または .accdb) または Access プロジェクト (.adp) とワークシート ファイルとの間でデータをインポートまたはエクスポートできます。 Microsoft Excel のワークシートのデータを Microsoft Access のカレント データベースにリンクすることもできます。 リンクされたワークシートを使用すると、Excel ワークシート プログラムのデータへの完全なアクセスを維持しながら、Access を使用してワークシート データを表示および編集することができます。 また、Lotus 1-2-3 ワークシート ファイルのデータにリンクすることもできますが、このデータは Access では読み取り専用です。

注:

このアクションは、データベースが信頼されていない場合には許可されません。

設定値

TransferSpreadsheet アクションには次の引数があります。

アクションの引数

説明

Transfer Type/変換の種類

変換の種類を指定します。 [マクロ ビルダー] ウィンドウの [ アクションの引数] セクションにある [ 変換の種類] ボックスで、[ インポート]、[ エクスポート]、または [ リンク] を選択します。 既定値は [ インポート] です。

注意: Access プロジェクト (.adp) では、転送の種類 [リンク] はサポートされていません。

Spreadsheet Type/ワークシートの種類

インポート元、エクスポート先、またはリンク先のワークシートの種類を指定します。 このボックスでは、多数のワークシートの種類から 1 つを選択できます。 既定値は [ Excel ブック] です。

注意: Lotus WK4 ファイルからインポートしたりリンク (読み取り専用) したりできますが、Access データをこのワークシート形式にエクスポートすることはできません。 また Access では、WKS または Excel バージョン 2.0 ワークシートのデータをこのアクションでインポート、エクスポート、リンクすることはサポートされなくなりました。 Excel バージョン 2.0 または Lotus .WKS 形式のワークシート データをインポートしたりリンクしたりする場合には、ワークシート データを Excel の新しいバージョンや Lotus 1-2-3 に変換してから、Access にデータをインポートまたはリンクします。

Table Name/テーブル名

ワークシート データのインポート先、エクスポート元、またはリンク先となる Access のテーブル名を指定します。 また、データのエクスポート元として Access の選択クエリ名を入力することもできます。 この引数は省略できません。 Transfer Type/変換の種類 引数で [ インポート] を選択すると、テーブルが既に存在する場合は、ワークシートのデータがこのテーブルに追加されます。 テーブルが存在しない場合は、新しいテーブルが作成され、指定したワークシートのデータがインポートされます。 Access では、 ImportExportSpreadsheet アクションを使用するときに、エクスポートするデータを SQL ステートメントを使って指定することができません。 SQL ステートメントを使うのではなく、クエリを作成してから、Table Name/テーブル名引数にそのクエリの名前を指定する必要があります。

File Name/ファイル名

インポート元、エクスポート先、またはリンク先のワークシート ファイルの名前を指定します。 ファイル名が既存のワークシートの名前と同じ場合、既存のワークシートが置き換えられます。 この引数は省略できません。 Access のデータをエクスポートすると、新しいワークシートが作成されます。 ファイル名が既存のワークシートの名前と同じ場合、既存のワークシートが置き換えられます。 ただし、Excel 5.0 以降のバージョンのブックをエクスポートする場合は、エクスポートされたデータがブック内の次に使用できる新しいワークシートにコピーされます。 Excel 5.0 以降のバージョンのワークシートのデータをインポートまたはリンクする場合、 Range/範囲 引数を使用して特定のワークシートを指定できます。

Has Field Names/フィールド名の設定

ワークシートの先頭行にフィールド名を含めるかどうかを指定します。 [ はい] を選択した場合は、ワークシートのデータをインポートまたはリンクするときに、先頭行の名前が Access のテーブルのフィールド名として使用されます。 [ いいえ] を選択した場合は、先頭行が通常のデータ行として処理されます。 既定値は [ いいえ] です。 Access のテーブルや選択クエリをワークシートにエクスポートした場合は、この引数の値に関係なく、ワークシートの先頭行にフィールド名が挿入されます。

Range

The range of cells to import or link. Leave this argument blank to import or link the entire spreadsheet. You can type the name of a range in the spreadsheet or specify the range of cells to import or link, such as A1:E25 (note that the A1..E25 syntax does not work in Access 97 or later). If you are importing from or linking to an Excel version 5.0 or later spreadsheet, you can prefix the range with the name of the worksheet and an exclamation point; for example, Budget!A1:C7.

注意: ワークシートにエクスポートする場合、この引数を空白のままにするにする必要があります。 範囲を入力すると、エクスポートは失敗します。

解説

Access の選択クエリのデータをワークシートにエクスポートできます。 クエリの結果セットもテーブルと同じようにエクスポートされます。

既存の Access のテーブルに追加するワークシートのデータは、テーブルの構造との互換性が必要です。

  • ワークシートの各フィールドのデータ型は、テーブルの対応するフィールドのデータ型と同じにする必要があります。

  • フィールドは同じ順序にする必要があります (ただし、 Has Field Names/フィールド名の設定 引数を [ はい] に設定した場合は、ワークシートのフィールド名とテーブルのフィールド名を同じにする必要があります)。

このアクションの動作は、[ 外部データ] タブをクリックし、[ インポート] または [ エクスポート] で [ Excel] をクリックした場合や、[ インポート] または [ エクスポート] で [ その他] をクリックして、[ Lotus 1-2-3 ファイル] をクリックした場合と同じです。 これらのコマンドを使用して、Access やその他のデータベース、ワークシート、またはテキスト ファイルなどの変換元のデータを選択できます。 ワークシートを選択した場合は、ワークシートの名前やその他のオプションを選択する一連のダイアログ ボックス (Access のウィザード) が実行されます)。 ImportExportSpreadsheet アクションの引数は、このようなダイアログ ボックスやウィザードのオプションに対応しています。

注:

[!メモ] リンクしたワークシートに対してクエリを実行するか、フィルターを適用する場合は、大文字と小文字が区別されます。

編集モードで開いている Excel ワークシートにリンクする場合は、Excel ワークシートの編集モードが終了するまで待機してから、リンクします。タイムアウトが発生することはありません。

Visual Basic for Applications (VBA) モジュールで ImportExportSpreadsheet アクションを実行するには、 DoCmd オブジェクトの TransferSpreadsheet メソッドを使用します。