宏的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目标文件完成。如果您需要解决此问题的方法,则可能对Chip Pearson网站上的以下页面感兴趣:
http://www.cpearson.com/excel/ShellAndWait.aspx
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(9843)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: