无法使用Application.Run调用VBA内置函数

时间:2014-08-19 15:03:58

标签: vba higher-order-functions

在VBA中,可以使用Application.Run方法调用用户定义的子例程或函数

Application.Run "macroName", arg1 ', ...

允许在VBA中对代表进行粗略模拟。 但是,内置的VBA函数不能以相同的方式调用

' Error 1004: Cannot run macro 'FileDateTime'. The macro may not be available ...
Debug.Print Application.Run("FileDateTime", "<some file path>") 

给定内置函数名称​​例如&#34; FileDateTime&#34;的字符串,如何调用该函数?

一种解决方法是创建仅返回内置函数结果的函数。但我正在寻找更直接的解决方案。

1 个答案:

答案 0 :(得分:0)

您不需要Application.run(并且使用也不正确):

Debug.Print FileDateTime("some file path")

编辑:另一种方法是编写自己的宏:

function F_D_T(path as string)  
F_D_T = FileDateTime("somepath")  
end function

并使用application.run

调用此宏