ImportExportSpreadsheet マクロ アクション

"ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" マクロ アクションを使って、現在の Access データベース (.mdb または .accdb) とスプレッドシート ファイル間でデータをインポートまたはエクスポートすることができます。また、Excel スプレッドシートのデータを現在の Access データベースにリンクすることもできます。リンクされたスプレッドシートを使えば、Excel スプレッドシート プログラムからデータに完全にアクセスできる状態で、Access でスプレッドシート データを表示することができます。Lotus 1-2-3 スプレッドシート ファイルのデータにリンクすることもできますが、Access ではこのデータも読み取り専用になります。

注: Access 2010 から、"TransferSpreadsheet/ワークシート変換" マクロ アクションは "ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" という名前に変更されました。

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

設定

"ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" マクロ アクションには次の引数があります。

アクションの引数

説明

Transfer Type/変換の種類

変換の種類です。マクロ デザイン ウィンドウの [アクションの引数] セクションの [変換の種類] ボックスで、[インポート]、[エクスポート]、または [リンク] を選びます。既定値は [インポート] です。

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

Spreadsheet Type/スプレッドシートの種類

インポート、エクスポート、またはリンクするスプレッドシートの種類です。ボックスでいくつかのスプレッドシートの種類からいずれかを選ぶことができます。既定値は [Excel ブック] です。

注: Lotus .WK4 ファイルに対するインポートおよびリンク (読み取り専用) は可能できますが、Access データをこのスプレッドシート形式にエクスポートすることはできません。また、Access では現在、このアクションでの Lotus .WKS や Excel バージョン 2.0 からのデータのインポート、エクスポート、リンクはサポートされていません。Excel バージョン 2.0 または Lotus .WKS 形式のスプレッドシート データに対してインポートやリンクを行う場合は、スプレッドシート データを、最新バージョンの Excel または Lotus 1-2-3 に変換してから Access にデータをインポートまたはリンクしてください。

Table Name/テーブル名

スプレッドシート データのインポート、エクスポート、またはリンクの対象となる Access テーブルの名前です。データのエクスポート元となる Access 選択クエリの名前を入力することもできます。これは必須の引数です。

[変換の種類] 引数で [インポート] を選ぶと、テーブルが既に存在する場合は、Access でスプレッドシート データがこのテーブルに追加されます。それ以外の場合、スプレッドシート データを含む新しいテーブルが作成されます。

Access では、"ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" マクロ アクションを使う場合、SQL ステートメントを使ってエクスポートするデータを指定することはできません。SQL ステートメントを使わずに、まず、クエリを作成し、"Table Name/テーブル名" 引数でクエリ名を指定する必要があります。

File Name/ファイル名

インポート、エクスポート、またはリンクするスプレッドシート ファイルの名前です。フル パスを含めます。これは必須の引数です。

Access からデータをエクスポートすると、新しいスプレッドシートが作成されます。ファイル名が、既存のスプレッドシートの名前と同じである場合、Excel バージョン 5.0 以降のブックにエクスポートする場合を除き、Access では既存のスプレッドシートが置き換えられます。その場合、エクスポートされたデータが、ブックで次に使用可能な新しいワークシートにコピーされます。

Excel バージョン 5.0 以降のスプレッドシートに対してインポートまたはリンクを行う場合は、"Range/範囲" 引数を使って、特定のワークシートを指定することができます。

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

スプレッドシートの先頭行にフィールド名を含めるかどうかを指定します。[はい] を選ぶと、スプレッドシート データをインポートまたはリンクするときに、Access テーブルでフィールド名としてこの行の名前が使われます。[いいえ] を選ぶと、先頭行は通常のデータ行として扱われます。既定値は [いいえ] です。

スプレッドシートに Access のテーブルまたは選択クエリをエクスポートした場合、この引数での選択内容に関係なく、フィールド名がスプレッドシートの先頭行に挿入されます。

Range/範囲

インストールまたはリンクするセルの範囲です。この引数を空白のままにすると、スプレッドシート全体がインポートまたはリンクされます。スプレッドシートで範囲の名前を入力することも、A1:E25 (Access 97 以降では、A1..E25 構文は機能しないことにご注意ください) などのインポートまたはリンク対象のセル範囲を指定することもできます。Excel バージョン 5.0 以降のスプレッドシートに対してインポートまたはリンクを行う場合は、範囲の前にワークシート名と感嘆符を付けることができます。たとえば、Budget!A1:C7 と指定できます。

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

解説

Access の選択クエリのデータをスプレッドシートにエクスポートすることができます。Access ではクエリの結果セットがエクスポートされ、テーブルと同様に扱われます。

既存の Access テーブルに追加したスプレッドシート データは、テーブルの構造と互換性がなければなりません。

  • スプレッドシートの各フィールドのデータ型は、テーブルの対応するフィールドと同じである必要があります。

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

このマクロ アクションには、[外部データ] タブをクリックし、[インポート] または [エクスポート] グループで [Excel] をクリックした場合と同様の効果があります。これらのコマンドを使って、Access またはある種のデータベース、スプレッドシート、テキスト ファイルなど、データのソースを選ぶことができます。スプレッドシートを選ぶと、一連のダイアログ ボックスが表示されるか、Access ウィザードが実行され、スプレッドシートの名前や他のオプションを選ぶことができます。"ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" マクロ アクションの引数には、これらのダイアログ ボックスまたはウィザードのオプションが反映されます。

注: リンクされたスプレッドシートのクエリまたはフィルターを実行する場合、そのクエリまたはフィルターでは大文字と小文字が区別されます。

編集モードで開かれている Excel スプレッドシートにリンクすると、Access は、Excel スプレッドシートで編集モードが解除されるまで待ってから、リンクを完了します。タイムアウトになることはありません。

Visual Basic for Applications (VBA) モジュールで "ImportExportSpreadsheet/スプレッドシートのインポート/エクスポート" アクションを実行するには、DoCmd オブジェクトの TransferSpreadsheet メソッドを使います。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×