将Excel 2007表格发布到MOSS列表,发布后的表格和可以和MOSS列表双向同步

当另一个用户登陆到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站点上查看该列表,可以看到数据已经更新。

原文地址:https://www.cnblogs.com/Areas/p/2563045.html