我在MS Access後面使用VBA 假設我有全局方法foo1和foo2,它們獲取相同的參數但做了不同的事情。 我知道在C++中,我可以爲函數分配一個別名。喜歡的東西: 代替:在VBA中定義函數別名,可能嗎?
If (term) then
foo1 arg1, arg2, arg3
else
foo2 arg1, arg2, arg3
End If
我想寫:
Var new_func = Iff (term, foo1,foo2)
new_func arg1, arg2, arg3
我能做到這一點的VBA?
聰明的想法,但我沒有(還)見AdressOf將如何幫助這裏,因爲它不能被用來在VBA內調用的函數。 – 2010-11-30 10:27:17
不幸的是,這是一個'嘗試看到VBA的限制'鏈接。 AddressOf並通過一個接口調用相同名字的函數(如果其他海報是正確的)大概就像你會得到的一樣。 – 2010-11-30 11:20:32
作爲一個可怕的黑客,您可以實際使用CallWindowProc來調用指針的任何VBA地址,只要簽名匹配並且您爲hwnd使用0即可。你甚至可以傳遞As String。 – 2010-11-30 12:08:21