当另一个用户登陆到MOSS列表后,会发现列表的任务窗格中并没有“导出并链接到Excel”一项。这是因为Excel 2007不支持和SharePoint列表进行同步。在Office 2007中,和列表的同步更新的工作改由Access来担任,可以看到其中有“在Access中跟着此列表”一项。
如果我们依然希望使用Excel来对列表进行编辑并进行同步,需要使用Excel中的宏,具体操作如下:
在列表中点击“操作”菜单,点击“导出电子表格”。
在弹出的窗口中点击“保存”,将.iqy文件保存在本地硬盘。(如果不希望保存的,直接点击“打开”也可以)
使用Excel 2007打开上面的iqy文件,Excel会弹出一个警告窗口,点击“启用”。
在“数据”选项卡中点击“连接”命令。
在“工作薄连接”窗口中点击“属性”。
在“连接属性”窗口中选中“定义”选项卡,把“命令文本”框中的文本复制到一个文本文件。
在Excel中按“Alt”+“F11”,启动“Visual Basic编辑器”。点击“插入”菜单下的“模块”命令。
输入以下VBA宏代码:
************************************************************************
Sub LinkedSharePointList()
ActiveSheet.ListObjects.Add SourceType:=xlSrcExternal, _
Source:=Array("http://moss07/xz/_vti_bin", "Windows中文站 管理团队", _ "{541C81F3-0607-46C4-A776-F70920E00F74}"), LinkSource:=True, Destination:=Range("A1")End Sub
************************************************************************
代码相关说明:
http://moss07/xz/_vti_bin 为列表的URL。
Windows中文站 管理团队 为列表名称
{541C81F3-0607-46C4-A776-F70920E00F74} 为列表GUID
URL和GUID的信息来源于上面“连接属性”窗口中的“命令文本”框中的文本
输入完成后关闭“Visual Basic编辑器”,返回到Excel中,将文档保存为“Excel97-2003工作薄”
接着按“Ctrl”+“A”,全选工作表,并按“DEL”键删除所有数据。
点击“office按钮”,点击“Excel 选项”。
勾选“在功能区显示“开发工具”选项卡”。
返回Excel后,可以看到多了一个“开发工具”选项卡,点击其中的“宏”命令。
点击“执行”。
Excel会将列表导入到Excel中。保存该文件。
接着我们尝试修改一个单元格数据,点击右键,在右键菜单中点选“表格”,会看到子菜单中出现了“与SharePoint同步”的命令。点击该命令即可和MOSS列表同步数据。
登陆到MOSS站点上查看该列表,可以看到数据已经更新。