有公司需要定制Outlook的用户联系人填写格式,通过朋友介绍,了解到可以使用自定义窗体的方式实现功能。
关于 outlook自定义窗体的问题,经过一天的测试(使用Exchange 2007和Outlook 2007),有了以下的一些看法:
1. 在outlook中任何一个文件夹下(邮件、日历或联系人)中,点击菜单栏中的工具->窗体->设计窗体,可以设计自定义窗体(form),然后在设计窗体界面上可以使用“发布”按钮下的“将窗体发布为”命令,将自定义的窗体发布出去。
2. 窗体的发布有三种类型:文件夹,个人窗体库,企业窗体库。发布到文件夹有一个好处就是可以在outlook的“动作”菜单下看到相应的窗体。如果需要让全企业的用户都可以使用,需要将窗体发布到企业窗体库中,任何用户都可以在菜单栏中的工具->窗体->选择窗体中的企业窗体库中找到。
关于窗体发布的选择可以看kb:http://support.microsoft.com/?kbid=290802
3. 要将窗体发布到企业窗体库,需要首先在Exchange上建立企业窗体库,Exchange 2007和2003的创建过程是不一样的。具体做法可以看:
在Exchange 2007下:http://support.microsoft.com/kb/933358/en-us
在Exchange 2003下:http://support.microsoft.com/kb/821922/en-us
注:在Exchange 2007下建立企业窗体库不能象2003那样使用图形界面,需要使用exchange命令行进行。大致做法是在Exchange 2007服务器上打开Exchange命令行控制台,输入命令:
New-PublicFolder -Path ""NON_IPM_SUBTREE"EFORMS REGISTRY" -Name "My Organizational Forms Library"
4. 创建了企业窗体库,还需要设置PR_EFORMS_LOCALE_ID,需要到微软下载一个Mfcmapi.exe,具体下载地址为:
http://go.microsoft.com/?linkid=5684182
具体做法是打开mfcmapi.exe,
a) 在Session菜单上点击Logon and Display Store Table,然后在MDB菜单中点击Open Public Folder Store,然后点击OK;
b) 展开Public Root,展开NON_IPM_SUBTREE,展开EFORMS REGISTRY;
c) 点击上面创建的企业窗体库文件夹,点击PR_URL_NAME属性;
d) 然后在菜单栏上打开Property Pane,点击Modify Extra Properties.;
e) 点击Add,打开Select Property Tag,点击PR_EFORMS_LOCALE_ID,连续点击 OK;
f) 注意在刚添加的PR_EFORMS_LOCALE_ID property属性上显示有红色标志,双击修改属性,在Unsigned Decimal box中填入地区代码(中国大陆是2051)
5. 完成上述步骤后,还需要使用Exchange命令行控制台命令:Add-PublicFolderClientPermission添加用户权限。否则用户无法将自定义的窗体发布到企业窗体库中。该命令的具体参数看:
http://technet.microsoft.com/en-us/library/bb124743.aspx
6. 获得授权的用户可以在outlook中将自定义窗体发布到企业窗体库中,其他用户可以在菜单栏中的工具->窗体->选择窗体中的企业窗体库中看到发布的自定义窗体。如果需要将该窗体设置成默认窗体,需要打开相应的文件夹(如联系人),右键点击,属性,窗体,点击管理按钮,然后将企业窗体库中的窗体添加进来就可以了。需要将自定义窗体设置为默认窗体,需要使用脚本。具体做法在这里就不做叙述了,有兴趣的朋友可以看看微软的CDO脚本。