編輯:真正的解決方案,我想做什麼可以在這篇文章here找到。我只是想公開一些編譯好的函數。使用Excel DNA nuget包證明這非常簡單。您只需添加一個類庫,添加nuget包,然後複製自述文件中找到的代碼。點擊F5,它會在加載項已經加載的情況下啓動excel。如果你想讓你的函數持久化,只需要通過「開發人員」功能區部分手動將加載項添加到excel文件。Excel自動化插件 - 功能不工作
原始發佈: 我按照this microsoft post的說明,如何創建一個自動加載項。代碼編譯得很好,我可以從Excel中訪問函數。但是這些功能不起作用。當我嘗試爲單元格分配函數調用的結果時,我幾乎總是得到#value或#ref錯誤。更具體地說:
以下由Microsoft提供的功能不起作用。它在我嘗試使用它的單元格中顯示#value錯誤。我選擇使用鼠標隨機單元格範圍作爲函數的參數。
Public Function NumberOfCells(ByVal range As Object) As Double
Dim r As Excel.Range = TryCast(range, Excel.Range)
Return CDbl(r.get_Cells.get_Count)
End Function
我創建的以下函數不起作用。我收到#ref錯誤。我通過傳遞直接整數(Add1(1,2))或包含數字的單元格來調用它。
Public Function Add1(ByVal i1 As Integer, ByVal i2 As Integer) As Integer
return i1+i2
End Function
,我創作的作品下面的函數(?!?):
Public Function Add1(ByVal i1 As Integer, ByVal i2 As Integer) As Integer
return 222
End Function
我很有經驗,在C#中,但不是在所有在vb.net,但這個插件,我需要使用vb.net。我懷疑這裏有一些簡單的東西,但我不知道它是什麼。微軟提供的代碼不起作用也很奇怪。
編輯:我也複製粘貼呈現here功能,我在Excel中得到相同的#值錯誤。我從一開始就沒有遵循這篇文章的教程,但我會在白天進行。
編輯2:我發現,只要在函數名稱中添加一個數字,由於某些原因,Microsoft的代碼無法工作。如果我將上面的示例代碼中的Add1重命名爲Addqweqew,它將起作用!
當你說「不工作「你爲每個案件專門做了什麼錯誤?你用什麼數據來測試這些功能? – chancea 2015-02-06 22:55:24
相應編輯帖子! – gerodim 2015-02-06 23:03:00