託管代碼我有橫貼在access-programmers.co.uk呼叫從Access 2003
請張貼在迴應這一論壇是可能..
我編在C#3.5中的DLL ..在這裏我設置解決方案屬性爲COM互操作註冊構建。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace SBG_TestWithVBA
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class TestHello
{
[ComVisible(true)]
public string SayHello(string name)
{
string message = "Hello " + name;
return message;
}
public string HelloWorld()
{
string message = "Hello World!";
return message;
}
}
}
我已經註冊,然後使用
裝配和TLB文件 「C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ regasm.exe」「\ sbgfs01 \用戶\文森特Pirolli \ My Docs \ Visual Studio 2008 \ Projects \ TestWithVBA \ TestWithVBA \ bin \ Release \ SBG_TestWithVBA.dll「/ tlb:」\ sbgfs01 \ users \ Vincent Pirolli \ My Docs \ Visual Studio 2008 \ Projects \ TestWithVBA \ TestWithVBA \ bin \ Release \ SBG_TestWithVBA.tlb「
然後,我在vba中添加tlb文件,使用tools> refere NCES菜單..
和我的VBA代碼如下:
Sub test()
Dim f As SBG_TestWithVBA
Set f = New SBG_TestWithVBA
f.HelloWorld
End Sub
我收到以下錯誤,即使智能感知工作VBA編輯器中: 「自動化錯誤 該系統找不到指定的文件「。
任何人有任何想法?我在以前的文章中有文章,但我找不到解決方案。
沒關係,這是真的討厭我現在..
我已經成功地得到這個工作..但我不明白爲什麼..
在Visual Studio中的解決方案的性能。 。在生成選項卡我設置'註冊COM互操作'爲真,並在'應用程序>裝配信息',我設置'使裝配COM-可見'= TRUE ..
我有VS項目文件在共享驅動器。現在,如果我將共享驅動器上的bin文件夾設置爲共享驅動器上的bin文件夾,在我的項目文件下,當我從VBA調用時它不起作用。但是,如果將生成文件夾設置爲本地C驅動器上的文件夾,從VBA呼叫時工作正常..
任何想法?
感謝您的答覆..我試圖安裝和註冊本地(我先註銷原來的位置)..但是當我使用regsvr我碰到下面的ERR這並沒有解決問題.. : 」。 ..dll被加載,但未找到DLLRegisterServer入口點,該文件無法註冊「。 – winshent 2009-02-10 16:27:42