回答編集履歴

1

COMラッパーについて追記

2016/05/11 09:22

投稿

tkanda
tkanda

スコア2425

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- ###代替案
11
+ ###代替案1: ODBC/OLE DBによる接続
12
12
 
13
13
  Excel VBAからPostgreSQLへのアクセスは、ODBCやOLE DBによって行うこともできます。
14
14
 
@@ -24,4 +24,24 @@
24
24
 
25
25
 
26
26
 
27
+ ###代替案2: COMラッパーによるNpgsqlの利用
28
+
29
+ もう一つの代替案として、NpgsqlとExcelVBA(.NetとActiveX)を仲介するために、独自のCOMラッパーDLLを開発する方法があります。
30
+
31
+
32
+
33
+ 簡単に言うと、NpgsqlがCOM公開インターフェースを持っていない(.Net専用)なら、Npgsqlの機能にアクセスする .Net マネージDLLを自分で開発して、そいつにCOM公開インターフェースを持たせればいいじゃない!という方法になります。
34
+
35
+
36
+
37
+ COMラッパーはActiveX時代のアプリケーションと.Netの世界を橋渡しする方法として、マイクロソフトも推奨している正しい戦略です。COMラッパーの仕組みと実装方法の詳細は、以下のサイトが参考になると思います。
38
+
39
+
40
+
41
+ - [MSDN: COM 呼び出し可能ラッパー](https://msdn.microsoft.com/ja-jp/library/f07c8z1c(v=vs.110).aspx)
42
+
43
+ - [MSDN: 方法: COM ラッパーを作成する](https://msdn.microsoft.com/ja-jp/library/ms404285(v=vs.110).aspx)
44
+
45
+
46
+
27
47
  ご参考になれば。