tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル もう解決済かもしれませんが
投稿日: 2003/08/29(Fri) 19:46
投稿者MATCH
[OSのVer]:Windows    [VBのVer]:VB.NET  
> [OSのVer]:Windows    [VBのVer]:VB.NET  
> .NETで関数を作り、ACCESSでその関数を使用しようとしているのですがうまくいきません。
>
> まずVB側ですが、.NETの[クラス ライブラリ]プロジェクトテンプレートで関数を作成しました。
> ACCESS側で、参照設定でそのプロジェクト内\BIN\****.DLLを指定すると、
> 「指定されたファイルへの参照は登録できません。」のエラーが出てしまいます。
>
> どこに原因があるのか、ご存知の方教えてください。

 新規プロジェクトでクラスライブラリ
を作成し、最初に自動作成されるクラスを
削除し、ソリューションエクスプローラで
プロジェクトを右クリック→新しい項目の追加
でCOMクラスを選択し、以下のようにメソッドを作成
しました。

' 作成可能な COM クラスには、パラメータなしの Public Sub New() を指定しなければ
' なりません。これを行わないと、クラスは COM レジストリに登録されず、
' CreateObject 経由で
' 作成できません。
Public Sub New()
    MyBase.New()
End Sub

Public Function aaa() <---作成したメソッド部分
    Return "xxx" <--------作成したメソッド部分
End Function <------------作成したメソッド部分

End Class

その後ソリューションをビルドして、
Accessから以下をやってみると
VB.NETで作成したメソッドが動いたのですが・・・

Dim a As Object
Set a = CreateObject("プロジェクト名.クラス名")
MsgBox a.aaa

こういう意味ではなかったですか?
なぜ、レジストリ登録もしないのに
動くのか不思議ですが・・・

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。