第一轮
需求如下:
1、Excel中的表格能够在Word中显示出来。
2、Exce中的表格l改了之后,Word的表格中的内容要能够更新。
需要支持的平台是Mac下的Office 2011。
实现是:
在Excel中选中需要的表格区域,Copy。
在Word中Paste Special=>Paste Link=>HTML Format。
在Excel中改动一下表格内容,Word立马就会更新(理论上)。
但是有的时候它就是不同步更新。这个时候在菜单中选择Edit=>Links...=>选中Link=>Update Now。
是不是很简单?Office其实很强大的。
第二轮
需求:Excel和Word发送给别人之后,Excel和Word的表格应该还能够保持同步。
实现是:
因为Word是以绝对路径存储Link的,所以在接到了别人发来的Word和Excel之后,要在Word中手工更新一下Excel文件的位置。
在菜单中选择Edit=>Links...=>选中Link=>Change Source
第三轮
需求:Excel对表格的样式调整,不应该破坏Word对表格的排版。
实现是:
用Paste Link方式粘贴过来的内容,不但内容过来了,样式也过来了。样式过来了也就罢了,样式还阴魂不散。只要Excel那边调整了单元格大小,Word这边一同步样式就全毁了。
这个问题没有办法通过用户界面解决,只能通过VBA解决。参考:http://mac2.microsoft.com/vb/1033/Word/html/womthAddFieldsObj.htm。
设置PreserveFormatting为True,就可以保持Word这边的样式了。
第四轮
需求如下:
1、Excel中的图表能够在Word中显示出来。
2、Exce中的图表l改了之后,Word的图表中的内容要能够更新。
实现是:
在Excel中选中图表,Copy。在Word中Paste。搞定。
在Excel中改动了数之后,Word这边就会更新。但是如果Excel那边改的是图表的样式,Word这边则不会。
原因是Word这边其实是按照Excel的图表生成了一个独立的新的图表,但是数据源是同一个Excel文件中的同一块单元格。
如果没有自动更新,用Edit=>Links..=>选中Link=>Update Now
第五轮
需求是:Excel和Word发送给别人之后,Excel和Word的图表应该还能够保持同步。
实现是:
尝试一:
理论上来说,可以炮制前法,用Change Source的方式来解决绝对路径变化带来的问题。但是这个方法对图表来说不管用,至少Mac下的Office 2011不行,Windows下的没有试验过。用VBA来Change Source也是一样,仍然不行。
尝试二:
除了普通的Paste,不是还有Paste Link嘛。用Paste Link的话,应该就可以使用Change Source了。但是这种方式的问题是图表在Word这边就是图片了,而且分辨率很低,这样就影响了最终的输出质量了。
尝试三:
重新粘贴一遍嘛。用alt文字记录原始来源,用VBA重新粘贴一遍。暴力方法,当然是可行的。
尝试四:
让绝对路径不变不就行了么?用 hdiutil create test.dmg -megabytes 100 -ov -type SPARSEBUNDLE -fs HFS+J -volname test 生成一个dmg文件,然后把Excel和Word文档放到Mount出来的Drive里,这样绝对路径所有人都一样了。