CopyObject マクロ アクション

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

"CopyObject/オブジェクトのコピー" アクションを使って、指定されたデータベース オブジェクトを異なる Access データベースにコピーするか、同じデータベースに別の名前でコピーすることができます。 たとえば、別のデータベースの既存のオブジェクトをコピーまたはバックアップしたり、若干変更して同じようなオブジェクトを簡単に作成したりできます。

データベースが信頼されていない場合、このアクションは実行できません。 マクロの有効化の詳細については、「データベースを信頼するかどうか決定する」を参照してください。

"CopyObject/オブジェクトのコピー" マクロ アクションは、Access Web アプリでは利用できません。

設定

"CopyObject/オブジェクトのコピー" アクションの引数は、次のとおりです。

アクションの引数 説明
Destination Database/コピー先データベース コピー先データベースの有効なパスとファイル名。 [マクロ ビルダー] ウィンドウの [アクションの引数] セクションで、[コピー先データベース] ボックスにパスとファイル名を入力します。 現在のデータベースを選ぶ場合は、この引数を空のままにします。
ライブラリ データベースで CopyObject アクションを含むマクロを実行し、この引数を空白のままにすると、Access によってオブジェクトがライブラリ データベースにコピーされます。
New Name/新しい名前 オブジェクトの新しい名前。 別のデータベースにコピーする場合は、この引数を空のままにして、同じ名前を保持します。
Source Ob ject Type コピーするオブジェクトの種類。 [テーブル]、[クエリ]、[フォーム]、[レポート]、[マクロ]、[モジュール]、[データ アクセス ページ]、[サーバー ビュー]、[ダイアグラム]、[ストアド プロシージャ]、[関数] のいずれかをクリックします。 ナビゲーション ウィンドウで選択されたオブジェクトをコピーするには、この引数を空のままにします。
Source Object Name/ソース オブジェクト名 コピーするオブジェクトの名前。 [ソース オブジェクト名] ボックスには、"Source Object Type/ソース オブジェクトの種類" 引数によって指定された種類のデータベース内のオブジェクトがすべて表示されます。 [ソース オブジェクト名] ボックスで、コピーするオブジェクトを選びます。 "Source Object Type/ソース オブジェクトの種類" 引数を空白のままにした場合は、この引数も空白のままにします。
ライブラリ データベースで "CopyObject/オブジェクトのコピー" アクションが含まれたマクロを実行すると、最初にライブラリ データベースでこの名前のオブジェクトが検索され、次に現在のデータベースで検索されます。

解説

このアクションの "Destination Database/コピー先データベース" 引数と "New Name/新しい名前" 引数のいずれか、または両方に値を入力する必要があります。

"Source Object Type/ソース オブジェクトの種類" 引数と "Source Object Name/ソース オブジェクト名" 引数を空白のままにすると、Access のナビゲーション ウィンドウで選択されたオブジェクトがコピーされます。 ナビゲーション ウィンドウでオブジェクトを選ぶには、"In Navigation Pane/ナビゲーション ウィンドウ内" 引数を "Yes/はい" に設定した "SelectObject/オブジェクトの選択" アクションを使います。

"CopyObject/オブジェクトのコピー" アクションは、次の手順の操作を手動で実行するのに似ています。

  1. ナビゲーション ウィンドウでオブジェクトを選びます。
  2. [ホーム] タブの [クリップボード] で [コピー] をクリックします。
  3. 同じタブの [貼り付け] をクリックします。
    [貼り付け] ダイアログ ボックスが表示され、オブジェクトに新しい名前を付けることができます。 CopyObject アクションは、これらのすべての手順を自動的に実行します。

マクロで "CopyObject/オブジェクトのコピー" アクションを実行する前に、コピー先データベースのパスとファイル名が存在している必要があります。 存在しないと、エラー メッセージが表示されます。

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

ナビゲーション ウィンドウで選択したオブジェクト、または現在開いているオブジェクトを手動でコピーするには、[ファイル]、[名前を付けて保存] の>をクリックします。 このコマンドを実行すると、現在のデータベースにのみオブジェクトのコピーが作成されます。 [名前を付けて保存] ダイアログ ボックスで、コピーの名前を入力して、保存するオブジェクトの種類を選びます。 既に保存されている元のオブジェクトを別の名前で現在のデータベースに保存すると、元のバージョンは古い名前のまま残ります。

別の Access データベースに手動でオブジェクトをコピーするには

  1. [外部データ] タブの [エクスポート] グループで、[その他] をクリックして、[Access データベース] をクリックします。
  2. [エクスポート - Access データベース] ダイアログ ボックスで、コピー先データベースのファイル名を入力します。
    または
    [参照] をクリックして [名前を付けて保存] ダイアログ ボックスを表示し、コピー先データベースを参照して、[保存] をクリックします。
  3. [エクスポート - Access データベース] ダイアログ ボックスで、[OK] をクリックします。 [エクスポート] ダイアログ ボックスが表示されます。
  4. [エクスポート] ダイアログ ボックスで、コピー先データベースのオブジェクトの名前を入力します。 [テーブル構造とデータ] や [テーブル構造のみ] などのテーブルのオプションを選びます。 終了したら、[OK] をクリックします。