SQLの窓

2013年08月09日


VB.net(VS2010) で COM へ公開して、WSH(VBScript) で利用する( C# でも同様 )

※ C# の場合、ルート名前空間では無く、ソースコード内の namespace で指定します

新規プロジェクト



コード自体は特別な事はしません。以下のようなコードを作成します
Imports System.Windows.Forms

Public Class Class1

	Public Sub Hello()

		MessageBox.Show("こんにちは")

	End Sub

	Public Function PcName() As String

		PcName = My.Computer.Name

	End Function

End Class

ここでは、MessageBox.Show を使う為に、System.Windows.Forms を Imports していますが、COM へ公開するのに必須ではありません。また、System.Windows.Forms を Imports するには、参照設定を行う必要があります。



COM へ公開する為の特別な設定(1)

まず、Release に設定して下さい。



COM へ公開する為の特別な設定(2)

COM としてビルドする為の設定は、プロジェクトのプロパティから、アセンブリ情報ボタンをクリックして開いたダイアログで、チェックボックスを ON にするだけです。



COM へ公開する為の特別な設定(3)

署名タブから、アセンブリの署名を行うようにチェックボックスを ON にして、『厳密な名前のキーファイル』を作成します。



▼ ファイル名は任意


COM へ公開する為の特別な設定(4)

ルート名前空間を決定します( CreateObject で使用するピリオドの前にある名前 )




ビルドしてから COM として登録する

以下のように登録用と削除用のファイルを配置します。



ショートカットは、『管理者権限で実行』できるように設定します





▼ build.bat の中身です
cd %~p0

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm MyComClass.dll /tlb:MyComClass.tlb /codebase

pause

▼ remove.bat の中身です
cd %~p0

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm MyComClass.dll /unregister

pause

▼ 管理者権限での実行可能なショートカットより実行


▼ レジストリエディタで登録された事を確認


実行用テストコード
Set obj = Wscript.CreateObject("winofsql.Class1")

Call obj.Hello()

Wscript.Echo obj.PcName()




posted by lightbox at 2013-08-09 00:45 | VB.NET : テクニカル | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり