为Word与Excel联合舰队修建快速通道 陈晟 2001年 48期 第42期《电脑报》中刊登了《打造Word和Excel联合舰队》一文,讲述了在Word与Excel之间进行数据交换的方法。“联合舰队”的魅力及强大的功能自不用多说,如果我们能再为“联合舰队”增加一个相互跳转的“快速通道”,就可以更进一步的利用“联合舰队”来实现高效办公。下面我们将以在Word中添加“跳转到Excel”的菜单为例,告诉你如何利用Office所支持的宏脚本程序制作“快速通道”。   #1第一步:编写宏脚本   点击“工具→宏→Visual Basic编辑器”,打开宏脚本编辑器(注意:不是进入“Microsoft 脚本编辑器”)。在编辑器“代码窗口”(如果没有发现代码窗口,点击“视图→代码窗口”即可显示)中输入以下代码:   Sub open_excell   On Error Resume Next   If MsgBox(“要复制所选内容到剪贴板吗?”, vbYesNo, “数据传递!”)   = vbYes Then   Selection.Copy   End If   Shell “excel.exe”,vbMaximizedFocus   End Sub   脚本运行后会弹出“数据传递!”消息框,询问你是否要复制所选内容,选择“是”后,选定的内容被复制到Windows公用剪贴板,实现数据交换。   其它程序,如PowerPoint、FrontPage和MS-DOS等的运行大致相同,必要时使用绝对路径即可。   #1第二步:集成到菜单,建立快速通道   如果只是编辑一个这样的脚本,并没有什么实际的意义,因为要运行程序我们完全可以在操作系统下完成。利用自定义工具栏(菜单是特殊的工具栏)的功能,我们可以把宏命令(脚本)集成到界面(菜单或工具栏),为“联合舰队”建立“快速通道”。   限于篇幅,本文仅介绍在“文件”菜单中添加“跳转到Excel”的方法,在工具栏中的添加步骤也基本相同。   1.在“文件”菜单中新建“跳转到…”子菜单   在任意工具栏上右键单击,选中快捷菜单中的“自定义…” 菜单,打开自定义工具栏对话框,单击“命令”选项卡,在“类别”列表选择“新菜单”,在右边的“命令”列表中会出现一个“新菜单”命令,选中该命令并将其拖动到“文件”菜单的适当位置后放开鼠标,这样就新建了一个名为“新菜单”的子菜单。   不要关闭“自定义”工具栏对话框,再次打开“文件”菜单,在刚才新建的“新菜单”上点击鼠标右键,在右键菜单中会看到后面有一个文本框的“命令”菜单条,直接修改其值为我们需要的菜单名,如本例中的“跳转到…”。   2.为“跳转到…”子菜单增加菜单命令   “自定义”工具栏对话框中,在“类别”列表中选择“宏”,可以看到我们刚才编写的宏脚本(如本例应该为:Normal.NewMacros. open-excell)。参照上边的方法,将该宏拖放到“跳转到…”子菜单内(注意:“内”和“下”的区别),并完成更名,然后后关闭“自定义工具栏“对话框。   此时的菜单没有纯文字菜单,感觉上跟系统本身的菜单还是有点差距。如何设置得更完美呢?答案就在工具栏编辑环境下(即在“自定义”工具栏对话框打开时)的那个右键菜单中了,刚才编辑子菜单项目时不可用的很多菜单命令都可用了,有复制按钮图标、粘贴按钮图标和更改按钮图标等。具体有什么用,相信就不用我多说了吧。   以上介绍的只是从Word跳转到Excel的方法,完全一模一样的脚本在Excel下也可以使用。只是要提醒一下:Shell “excel.exe”,vbMaximizedFocus应该改成Shell“winword.exe”,vbMaximizedFocus,读者可以自己试试。