这是一个很有趣的技巧!可以通过你给定的文件名来获取计算机中可以打开该文件的EXE程序,即可执行程序。有时候,我们可能真的需要找到可以打开指定文件名的EXE程序,然后打开它。或者,要看看计算机中是否有可以打开指定文件名的EXE程序,然后好决定做下一步的操作。
实现获取计算机中可以打开指定文件的EXE程序的代码:
‘API声明
Declare Function FindExecutable Lib”shell32.dll” Alias “FindExecutableA” _
(ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult AsString) As Long
Function ExePath(lpFile As String) As String
Dim lpDirectory As String
Dim strExePath As String
Dim lrc As Long
lpDirectory = “\”
strExePath = Space(255)
lrc = FindExecutable(lpFile, lpDirectory, strExePath)
strExePath = Left$(strExePath, InStr(strExePath, Chr$(0)) – 1)
ExePath = strExePath
End Function
现在,我们要获取能够打开代码所在工作簿的Excel应用程序,使用代码:
MsgBox ExePath(ThisWorkbook.FullName)
excel图表如何记录指定单元格每次修改的时间?
Q:我想要在用户修改工作表指定单元格的内容时,在另一工作表中记录修改的时间。例如,在工作表Sheet1的单元格B2中,每次用户将该单元格值修改为某一大于0的数值时,则在工作表LogB2中记录下其修改的时间。 具体地说,如果在2019年10月24日19时30分30秒,用户将单元格B2中的值修改为280,那么在工作表Lo
结果如下图1所示。

图1
也可以指定一个文件来获取其EXE程序,例如:
Sub Test_ExePath()
Dim strSpecFile As String
strSpecFile = “D:\附件13g.pdf”
If ExePath(strSpecFile) = “” Then
MsgBox “没有发现本计算机中有这个文件的可执行程序.”,vbCritical, “错误”
Exit Sub
Else
MsgBox ExePath(strSpecFile)
End If
End Sub
运行后的结果如下图2所示。

图2
excel表格自定义功能区
自Office 2007版本开始,Microsoft对Office界面进行了彻底的改造,将原来的菜单和工具栏改成了功能区,文件格式也进行了改变。现在的Office文件,实际上是一个压缩文件,其中包括了创建文档的XML文件。这样,我们能够通过修改其XML文件结构,从而创建自已的功能区。 将文件修改为压缩文件 首先,需


