moss2007真是個好東西,内置了衆多主題,都很漂亮,随着時間推移,可能會有更換主題的需求,站點少了還行,時間一長,建立了很多站點,如果讓我一個一個通過站點設定去改變那可就慘了,還好moss2007提供了很好的程式設計接口,三言兩語就可以批量替換主題,我先把代碼列出來。
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
using Microsoft.SharePoint;
5
6
namespace SetAllWebTheme
7
{
8
class Program
9
{
10
static void Main(string[] args)
11
{
12
if (args.Length == 2)
13
{
14
SPSite sps = null;
15
16
try
17
{
18
sps = new SPSite(args[1]);
19
}
20
catch(Exception e)
21
{
22
Console.WriteLine(e.Message);
23
return;
24
}
25
26
if (args[0] == "list")
27
{
28
foreach (SPWeb spw in sps.AllWebs)
29
Console.Write("Web Name:{0}\nWeb Theme:{1}\nTitle:{2}\n", spw.Name, spw.Theme, spw.Title);
30
31
}
32
else
33
{
34
foreach (SPWeb spw in sps.AllWebs)
35
{
36
try
37
{
38
spw.ApplyTheme(args[0]);
39
Console.Write("應用 {0} 主題到 {1} 站\n", spw.Theme, spw.Title);
40
}
41
catch (Exception e)
42
{
43
Console.WriteLine(e.Message);
44
}
45
}
46
}
47
48
sps.Dispose();
49
}
50
else
51
{
52
Console.WriteLine("批量設定MOSS2007站點主題");
53
Console.WriteLine("作者:帶電作業 (booolee)");
54
Console.WriteLine("http://booolee.cnblogs.com");
55
Console.WriteLine("用法:SetAllWebTheme arg1 arg2");
56
Console.WriteLine("arg1 為 list 時,列出指定URL中所有Web");
57
Console.WriteLine("arg1 為主題名(英文主題名)時,為将要設定的主題名");
58
Console.WriteLine("arg2 為指定站點的URL");
59
Console.WriteLine("示例:SetAllWebTheme http://sharepoint");
60
Console.WriteLine("列出http://sharepoint下所有web的摘要資訊");
61
Console.WriteLine("示例:SetAllWebTheme Lichen http://sharepoint");
62
Console.WriteLine("将http://sharepoint下所有站點主題設定為Lichen");
63
}
64
65
}
66
}
67
}
68
我已經編譯了這個工具,大家可以下載下傳使用,免費哦~~
可以通過這個位址下載下傳 https://files.cnblogs.com/booolee/SetAllWebTheme.rar
把這個工具複制到moss伺服器上就可以了,不帶參數運作就可以看到指令的用法。
其中英文主題名就是英文版moss的主題清單裡的名字,這裡列給大家
有了這個工具,大家就可以随時随心情的批量更換主題啦,哈哈~~
代碼給大家,稍微擴充一下隔一段時間随機變換一下主題,就可以作出MOSS的主題秀了,WINDOWS有主題秀軟體,MOSS也可以擁有哦~
廢話時間:
昨天和老婆吵架了,其實也不是因為什麼大事,今天想來真是不應該呀,在這裡向老婆說聲對不起,不要往心裡去哦~~