豚吐露@wiki
CS側からVBの資産を利用する
最終更新:
Bot(ページ名リンク)
-
view
CS側からVBの資産を利用する
Windows 7 Professional
Visual Studio 2013 Professional
Visual Studio 2013 Professional
例として、VB.NetでVBAppというprojectを、C#でVCAppというprojectを作成。
VB側にPublicClassというclassを作って、Sumというstatic(Shared) methodを定義。buildしてexeを作っておく。
今回は、わざっと別ソリューションにして、exeしか無いって状況ね。(=´▽`=)b
今回は、わざっと別ソリューションにして、exeしか無いって状況ね。(=´▽`=)b
e.g.) VB.Net側に定義したmethod
- Public Class PublicClass
- Public Shared Function Sum(num1 As Integer, num2 As Integer) As Integer
- Return num1 + num2
- End Function
- End Class
C#側では、最初に参照設定が必要。
『参照設定』を右クリックして、『参照の追加』を選択。

ダイアログが開いたら『参照』ボタンを押下。使いたい資産を持ってるexeなどを指定。今回は『VBApp.exe』。
※同一ソリューション内の他projectの場合は、左のリストから『ソリューション』を指定して、対象のprojectを指定するだけでOK。
追加すると、一覧に追加したものの情報が追加される。
で、checkが入ってることを確認して『OK』ボタン押下。

参照設定に、さっき追加したVBAppがぶら下がってるのを確認できる。ココに表示される名前で呼び出すので、なんて名前で表示されてるか把握しとくこと。

『参照設定』を右クリックして、『参照の追加』を選択。

ダイアログが開いたら『参照』ボタンを押下。使いたい資産を持ってるexeなどを指定。今回は『VBApp.exe』。
※同一ソリューション内の他projectの場合は、左のリストから『ソリューション』を指定して、対象のprojectを指定するだけでOK。
追加すると、一覧に追加したものの情報が追加される。
で、checkが入ってることを確認して『OK』ボタン押下。

参照設定に、さっき追加したVBAppがぶら下がってるのを確認できる。ココに表示される名前で呼び出すので、なんて名前で表示されてるか把握しとくこと。

実際に呼び出してみる。
ポイントは6行目。『using Microsoft.VisualBasic;』と宣言すると、参照設定してるVB側の関数とかがそのまま使える。
VB.Netのmethodはstaticで定義してるので、14行目のように直接呼び出せる。
見ての通り、『参照設定に追加した名前.クラス名.メソッド名』で呼び出せてる。
コーディングするときは、ちゃんと候補が表示されたりするので、いたせりつくせりです。
ポイントは6行目。『using Microsoft.VisualBasic;』と宣言すると、参照設定してるVB側の関数とかがそのまま使える。
VB.Netのmethodはstaticで定義してるので、14行目のように直接呼び出せる。
見ての通り、『参照設定に追加した名前.クラス名.メソッド名』で呼び出せてる。
コーディングするときは、ちゃんと候補が表示されたりするので、いたせりつくせりです。
e.g.) C#側に定義したVB.Net側のmethodを呼び出すところ
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Microsoft.VisualBasic;
-
- namespace CSApp
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine(VBApp.PublicClass.Sum(1, 2));
- }
- }
- }
コンソールには『3』が表示されました。
更新日: 2014年12月12日 (金) 16時14分06秒