DOS从宏(Microsoft Excel)
宏是一种扩展程序(如Excel)功能的绝妙方法。但是,您可能希望通过从宏执行DOS批处理文件来进一步扩展该功能。 Excel允许您通过使用Shell命令来执行此操作。该命令的常规语法如下:
dRetVal = Shell("myfile.bat", mode)
在引号内,您可以放置要执行的文件的完整路径名和文件名。在某些系统上,如果在文件规范中使用路径名,则可能会遇到问题。 (如果您具有复杂的路径名或路径名包含空格,这似乎会使人头疼。)如果遇到此问题,只需在Shell之前使用ChDir命令即可更改Excel使用的目录。然后,您可以仅使用文件名执行Shell。
模式指示器仅告诉Excel如何打开窗口以显示文件。模式指示器可以是以下任意一种:
Value |
Variable Nam |
Meaning |
||
0 |
vbHide |
Window is hidden and has focus. |
||
1 |
vbNormalFocus |
Window is the normal size and has focus. |
||
2 |
vbMinimizedFocus |
Window is minimized and has focus. |
||
3 |
vbMaximizedFocus |
Window is maximized and has focus. |
||
4 |
vbNormalNoFocus |
Window is normal size, but doesn’t have focus. |
||
6 |
vbMinimizedNoFocus |
Window is minimized, but doesn’t have focus. |
Shell命令返回一个值,该值指示您执行的文件的程序ID,或者为零。如果返回零,则执行文件时出错。
您应该记住,使用Shell时,目标文件立即执行,并且独立于Excel执行。这意味着Excel宏中的下一个宏命令将立即执行,而无需等待Shell目标文件完成。不幸的是,没有办法解决此问题。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2506)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: