2012-11-09 26 views
0

我有一個非託管的C#DLL添加到Excel VBA代碼。哪個excel文件叫我的C#DLL?

Private Declare Function DoSomething Lib "myc.dll" Alias "invokePath" (ByVal strRule As String) 

現在從DLL中,我需要知道提出請求的Excel文件的路徑。

我需要從C#DLL中的Excel工作簿中的單元格中讀取值。

+0

那麼問題是什麼?你嘗試了什麼? – Oded

+0

['System.Diagnostics.StackTrace'](http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx) – Leri

+1

而......正是爲什麼該路徑不能成爲參數? – Theraot

回答

0

如果可能的話,我會將它作爲COM加載項來實現,而不是從VBA導入函數。通過這種方式,您將可以訪問Excel Application實例,該實例將成爲從電子表格中獲取數據並與Excel進行交互的起點,而不僅僅是從函數返回一個值。

如果您將此作爲用戶定義函數(UDF)調用,那麼您還將能夠訪問Application.Caller屬性,該屬性將爲您提供觸發UDF評估的單元格的引用。