Excel 2010 自动多实例运行

visio 2010可以通过修改注册表实现自动多实例运行,但是excel 2010的就不行了,包括technet在内,解决的方法基本都是通过建立“excel.bat”的方式来实现。

综合而言,所有问题的关键都在于运行的命令中是否有添加了“"%1"”。

如果没有这个参数,双击excel文件时,就不会进入多实例模式。而如果有这个参数,就可以了。

顺着这个思路,只要能够修改注册表中xlsx和xls扩展名所对应的open操作应该就可以解决这个问题了。

 

参照《利用注册表设置打开方式_积微堂》 ,找到xls和xlsx的“打开”功能所对应的注册表项目分别是:

xls:[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]

xlsx:[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]

但是,command中都分别有以下2个子项“默认”和“command”。

我先把“默认”中的“ /dde ”改为“ "%1" ”,没有效果。

然后,我注意到2个问题:

1)在Open键下面还有一个ddeexec键,推测可能和“ /dde ”有关,但不知道该如何对此进行操作。

2)在command键中,“默认”项 和 “ command ”项,这两个到底是哪一个在双击文件的时候起作用?尤其是“ command ”项中的二进制数据也让人头晕,不知道是什么含义。

于是想在删除command项之前,先试着直接google这段二进制,竟然得到了一个韩文页面:《Lai Go's TINote Blog》,google翻译,发现是一位韩国的MVP写的内容,正是同一个问题的解决方法,nice,这下轻松了。

根据该作者的做法,关键是删除了ddeexec键,估计我此前的推测是正确的,“ /dde ”可能与这个键有关,既然如此,那就在备份后,大着胆子删吧。

问题就此解决。操作步骤汇总一下:

第1步:备份注册表键值,也就是导出了。

由于我只打算修改打开这两个文件的形式,因此仅对open键做备份和修改。

xls:[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]

xlsx:[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]

第2步:分别删除Excel.Sheet.8和Excel.Sheet.12的open下面的ddeexec。

第3步:修改Excel.Sheet.8和Excel.Sheet.12的opencommand下的command项

原来的command项是:

xb'BV5!!!!4!!!!MKKSkEXCELFiles>u2BeT,8X[=]9==,*)Nn] /dde
 

修改后的command项是:

xb'BV5!!!!4!!!!MKKSkEXCELFiles>u2BeT,8X[=]9==,*)Nn] "%1"
 

至此搞定。

上述步骤也可以编制成注册表文件来执行,以便于切换或重装系统:

多实例EXCEL.REG

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open]
@="打开(&O)"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
"command"=hex(7):78,00,62,00,27,00,42,00,56,00,35,00,21,00,21,00,21,00,21,00,\
  34,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,75,00,32,00,42,00,65,00,\
  54,00,2c,00,38,00,58,00,5b,00,3d,00,5d,00,39,00,3d,00,3d,00,2c,00,2a,00,29,\
  00,4e,00,6e,00,5d,00,20,00,22,00,25,00,31,00,22,00,00,00,00,00

[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec]

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open]
@="打开(&O)"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
"command"=hex(7):78,00,62,00,27,00,42,00,56,00,35,00,21,00,21,00,21,00,21,00,\
  34,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,75,00,32,00,42,00,65,00,\
  54,00,2c,00,38,00,58,00,5b,00,3d,00,5d,00,39,00,3d,00,3d,00,2c,00,2a,00,29,\
  00,4e,00,6e,00,5d,00,20,00,22,00,25,00,31,00,22,00,00,00,00,00

[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec]

单实例EXCEL.REG

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open]
@="打开(&O)"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
"command"=hex(7):78,00,62,00,27,00,42,00,56,00,35,00,21,00,21,00,21,00,21,00,\
  34,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,75,00,32,00,42,00,65,00,\
  54,00,2c,00,38,00,58,00,5b,00,3d,00,5d,00,39,00,3d,00,3d,00,2c,00,2a,00,29,\
  00,4e,00,6e,00,5d,00,20,00,2f,00,64,00,64,00,65,00,00,00,00,00

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec]
@="[open(\"%1\")]"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec\application]
@="Excel"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec\topic]
@="system"


[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open]
@="打开(&O)"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
"command"=hex(7):78,00,62,00,27,00,42,00,56,00,35,00,21,00,21,00,21,00,21,00,\
  34,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,75,00,32,00,42,00,65,00,\
  54,00,2c,00,38,00,58,00,5b,00,3d,00,5d,00,39,00,3d,00,3d,00,2c,00,2a,00,29,\
  00,4e,00,6e,00,5d,00,20,00,2f,00,64,00,64,00,65,00,00,00,00,00

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec]
@="[open(\"%1\")]"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec\application]
@="Excel"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec\topic]
@="system"

 

本文出自 “ZurichAxiom” 博客,转载请与作者联系!

你可能感兴趣的:(Excel,职场,注册表,休闲)