SharePointを使用していて、リスト間のデータコピーや一括削除をどうにか手軽にやる方法はないかと悩まれる方も多いと思います。そこで今回は、SharePointの標準機能使ってもっとも手軽に実現する、知っていれば便利な方法として、次のURLにアクセスします。
- http://<サイトのURL>/_layouts/sitemanager.aspx
[図.実行結果]
このページは[サイトのコンテンツと構造]というページで、本来はサイトコレクションの管理者などが発行サイトにアクセスする際に[サイトの操作]メニューに表示されるものです。ですが、このページはサイトへのアクセス権限があれば、どのサイトからでも上記のURLを実行すれば直接アクセスできます(きっと、このことをご存じない方も多いのではないかと思います)。
この管理ページは便利で、目的のリストやライブラリをクリックすると、通常のサイトとは異なる管理用のビューが表示されます。ここから、リスト間でアイテムを一括コピーしたり移動したり、一括削除したりできます。なお、コピーや移動を行う際は、アイテムの作成日時や更新日時、更新者などの情報はそのままとなり、書きかえられることはありません(ただし、リストが異なるのでIDは新たに設定されます)。
[図.リストアイテムの操作]
ただし、リスト間でコピーや移動を行う際には同じリストテンプレートから作成したリスト間で操作するようにしてください。私が検証した限りでは、一方に列Aがあり、他方に列Bがあるリストでアイテムのコピーを行ったところ、コピー先のリストに新しい列として列Aが作成され、無事にアイテムがコピーされていました。ところが、この列が集計列だった場合などは、エラーになりました。これはおそらく、集計に必要な他の列がタイミングによっては存在しないことになるからではないかと思われます。とはいえ、集計列を使っていたとしても、そのリストをいったんテンプレート化して、新規に作成したリストにコピーするとうまくコピーされました。
従って、結論としては同一リストテンプレートから作成したリスト間でのコピーまたは移動を行うのが良いと思います。また、この管理画面ではビューの編集ができないので注意してください。
*** 2013/2/6 追記 ***
この機能は SharePoint 2010 でも使用できます。ちなみに、この機能によるアイテムコピーや移動は推奨は 100 アイテムずつであると、現在はTechNet の資料に明記されていますので、この範囲で実施することをおすすめします。
***ここまで***
参考
サイトの管理者の場合は、発行サイトではないサイトでは「サイトの設定」ページからも[サイトのコンテンツと構造]へアクセスできます。
[図.サイトの設定ページ]