次の方法で共有


CopyObject マクロ アクション

適用先: Access 2013、Office 2013

CopyObject アクションを使用すると、指定したデータベース オブジェクトを別の Access データベースまたは同じデータベースまたは Access プロジェクトに新しい名前でコピーできます。 たとえば、別のデータベース内の既存のオブジェクトをコピーまたはバックアップしたり、いくつかの変更を加えて同様のオブジェクトをすばやく作成したりできます。

注:

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

Setting

CopyObject アクションの引数は次のとおりです。

アクションの引数

説明

Destination Database/コピー先データベース

コピー先データベースのパスとファイル名を指定します。 [マクロ ビルダー] ウィンドウの [ アクションの引数] セクションにある [ コピー先データベース] ボックスに、パスとファイル名を入力します。 この引数を指定しない場合は、カレント データベースにコピーされます。

: この引数は Access データベース環境でのみ使用できます。 When using this action in an Access project environment (.adp), the Destination Database argument must be blank.

If you run a macro containing the CopyObject action in a library database and leave this argument blank, Microsoft Office Access 2007 will copy the object into the library database.

New Name/新しい名前

オブジェクトの新しい名前を指定します。 別のデータベースにコピーする場合は、この引数が指定されていなければ、元のオブジェクトと同じ名前でコピーされます。

Source Object Type/ソース オブジェクトの種類

コピーするオブジェクトの種類を指定します。 [ テーブル]、[ クエリ]、[ フォーム]、[ レポート]、[ マクロ]、[ モジュール]、[ データ アクセス ページ]、[ サーバー ビュー]、[ ダイアグラム]、[ ストアド プロシージャ]、[ 関数] のいずれかをクリックします。 ナビゲーション ウィンドウで選択したオブジェクトをコピーする場合は、この引数を指定しません。

Source Object Name/ソース オブジェクト名

コピーするオブジェクトの名前を指定します。 [ ソース オブジェクト名] ボックスには、データベースのオブジェクトのうち、 Source Object Type/ソース オブジェクトの種類 引数で選択された種類のオブジェクトがすべて表示されます。 [ ソース オブジェクト名] ボックスで、コピーするオブジェクトをクリックします。 Source Object Type/ソース オブジェクトの種類 引数を指定しない場合は、この引数も指定しないでください。 ライブラリ データベースで CopyObject アクションが定義されたマクロを実行する場合は、まずライブラリ データベースでこの名前のオブジェクトが検索され、次にカレント データベースで検索されます。

注釈

Destination Database/コピー先データベース 引数と New Name/新しい名前 引数の少なくとも一方には必ず値を入力する必要があります。

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

CopyObject アクションの動作は、次の手順を手動で実行した場合と同じです。

  1. ナビゲーション ウィンドウでオブジェクトを選択します。

  2. [ Home] タブの [ Clipboard] グループで [ Copy] をクリックします。

  3. 同じタブで、[ 貼り付け] をクリックします。[ 名前を付けて貼り付け ] ダイアログ ボックスが表示され、オブジェクトに新しい名前を付けることができます。 CopyObject アクションは、これらのすべての手順を自動的に実行します。

注:

[!メモ] CopyObject アクションでデータ アクセス ページをコピーすると、関連付けられた .htm ファイルへのリンクのみがコピーされ、ファイル自体はコピーされません。

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

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

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

オブジェクトを別の Access データベースに手動でコピーするには、次の操作を行います。

  1. [ 外部データ] タブの [ エクスポート] で [ その他] をクリックし、[ Access データベース] をクリックします。

  2. [ エクスポート - Access データベース] ダイアログ ボックスで、コピー先のデータベースのファイル名を入力します。または[ 参照] をクリックして [ 名前を付けて保存] ダイアログ ボックスを表示し、コピー先データベースの場所を指定して、[ 保存] をクリックします。

  3. [ エクスポート - Access データベース] ダイアログ ボックスで、[ OK] をクリックします。 [ エクスポート] ダイアログ ボックスが表示されます。

  4. [ エクスポート] ダイアログ ボックスで、コピー先のデータベースでのオブジェクトの名前を入力します。 [ テーブル構造とデータ] や [ テーブル構造のみ] など、テーブルに適用できるオプションを選択します。 完了したら、[ OK] をクリックします。