2010-12-03 9 views
1

SharePointですべてのサイトとサブサイトを取得し、イメージライブラリ/リストにアクセスするにはどうすればよいですか?SharePointですべてのサイトとサブサイトを取得し、イメージライブラリ/リストにアクセスするにはどうすればよいですか?

SharePointオブジェクトモデルを使用してこれを実現することを楽しみにしています。私は「はい」から「選択したアイテムのために必要なコンテンツの承認」のオプションを設定するのですか、私はイメージライブラリ/リストにアクセスしたい各Webサイトまたはサブサイトの内部では、

alt text

このリストに取得した後「いいえ」?

答えて

6

SPFarmオブジェクトを使用してすべてのWebアプリケーションを取得し、次にSPWebApplicationを使用してすべてのsitecollectionを取得し、SPSiteを使用してすべてのWebを取得します。

サイトコレクションのすべてのサイトを取得するには、3つすべてをループする必要があります。 spwebの下にサブサイトを見つけたい場合は、spwebごとにspwebの下にWebが見つからなくなるまで、すべてのspwebsを再帰的に呼び出してください。

SPFarm farm = SPFarm.Local; 
SPWebService service = farm.Services.GetValue<SPWebService>(""); 
foreach (SPWebApplication webapp in service.WebApplications) 
{ 
    foreach (SPSite sitecoll in webapp.Sites) 
    { 
     foreach (SPWeb web in sitecoll.AllWebs) 
     { 
      <<Use recursion here to Get sub WebS>> 
      web.Dispose(); 
     } 
     sitecoll.Dispose(); 
    } 
} 
+0

こんにちはアシュホッシュ!あなたの返事をありがとうございました。しかし、どのように各サイト/サブサイト内のイメージライブラリにアクセスできますか? –

+1

foreachの(sitecoll.AllWebsでSPWebウェブ) {foreachの (web.ListsでSPList libに) {foreachの (lib.ContentTypesでSPContentTypeのcontentType) { 場合(contentType.Name == "ピクチャー")//比較のためにcontentType.Idを使用してください。 { lib.EnableModeration = true; } } } web.Dispose(); –

関連する問題