DLLを作成し使用する
                                                       玄関へお回り下さい。
1.DLLを作成する
   1.[新しいプロジェクト]で ActiveX DLL を選択する。

2.プロパティウィンドウで、クラスモジュールのInstancingプロパティを6−GlobalMultiUse に変更して下さい。

3.クラスモジュールに Sub プロシージャ又は Function プロシージャを作成する。

テスト用に起動ディレクトリ取得用プロシージャとANSI(旧 Basic・シフトJIS)流文字列長を得るプロシージャを記入します。

Public Function fMyPath() As String
  'プログラム終了まで MyPath の内容を保持
  Static MyPath As String
  '途中でディレクトリ-が変更されても起動ディレクトリ-を確保
  If Len(MyPath) = 0& Then
    MyPath = App.Path 'ディレクトリ-を取得
    'ルートディレクトリかの判断
    If Right$(MyPath, 1&) <> "\" Then
      MyPath = MyPath & "\"
    End If
  End If
  fMyPath = MyPath
End Function


Public Function LenA(mozi As String) As Integer
  LenA = LenB(StrConv(mozi, vbFromUnicode))
End Function

4.プロジェクトのプロパティを設定する。
メニューの[プロジェクト]→[Project1のプロパティ]メニューを選択し、プロジェクト名を設定して下さい。(ここでは MyLibDll と付けます)

5.コンパイルする
メニューの[ファイル]→[MyLibDllの作成]で通常のEXEファイルを作成するのと同じ要領です。

2.作成したDLLを使用する
   メニューの[プロジェクト]→[参照設定]で参照可能なライブラリの中から作成した[MyLibDll]を探しチェックボックスにオンを入れます。 
後は通常の標準モジュールに書いたプロシージャを呼出すのと同じ方法でできます。

Private Sub Command1_Click()
  Text1.Text = fMyPath
End Sub

Private Sub Command2_Click()
  Text2.Text = LenA("ABCあいうえお")
End Sub

テキストボックス1には起動ディレクトリ名が表示されテキストボックス2には 13 が表示されます。


私も今回初めて作成したのですが、意外と簡単に作成できました。

詳しくは、Books Online のヘルプでActiveXDLL で検索しActiveX DLLの作成 の項を見て下さい。




01/06/07