文書番号: 402460
最終更新日: 1997/10/21
この資料は以下の製品について記述したものです。
- Microsoft(R) Excel for Windows(R) Version 5.0 (以下 Excel 5.0)
この記事は、以前は次の ID で公開されていました: JP402460
概要
本文書は、Microsoft(R) Visual Basic(R) Programming System Applications
Edition (以下 VBA) を使用して、Microsoft(R) Visual Basic(R) Programming System
for Windows(R) Version 2.0 (以下 VBW) で作成したアプリケーション (以下 VBW
アプリケーション) の特定のコントロールから値を取得する方法をサンプル モジ
ュールと共に解説しています。
詳細
VBW アプリケーションの特定のコントロールから値を取得する方法についての詳細
は、「 Visual Basic(R) ユーザーズ ガイド (Excel 5.0 に添付) 」 253 ページ
「 DDE の使い方」を参照してください。
1. DDE の開始
DDE を使ってデータ交換を行うときには、最初に他のアプリケーションと接続する必
要があります。
channelNumber = DDEInitiate(applicationname,topicname)
channelNumber
DDEInitiate メソッドによって接続された、DDE チャネルを格納するための変数を指
定します。
applicationname
プロジェクト名 (.MAK) を指定します。これは App オブジェクトの Exename プロパ
ティ (App.Exename) で取得する名前と同じです。
topicname
アプリケーションのデータのトピックを指定します。データ交換を行う相手のコント
ロール名を指定します (例えば、テキスト ボックスが含まれるフォーム オブジェクト
の LinkTopic プロパティなど)。
2. 文字列と数値の取得
DDERequest メソッドを使うと、DDEInitiate メソッドで接続したアプリケーション
から文字列や数値を取得できます。
variable = DDERequest(channelNumber,item)
variable
取得したデータを格納する為の変数を指定します。必ずバリアント型の変数を指定し
ます。
channelNumber
DDEInitiate メソッドによって接続された、DDE チャネル番号を指定します。
item
対象となるデータ (Name プロパティの値) を指定します。
3. VBW アプリケーション側の注意
VBW アプリケーション側では、データ交換を行う相手のコントロールを含むフォーム
オブジェクトの LinkMode プロパティを「 1 - ソース」に指定します。
サンプル モジュール
次のサンプルモジュールでは、Excel 5.0 のワークシート Sheet1 のセル A1 に、
VBW アプリケーション PROJECT1.EXE のフォーム オブジェクト Form1 に配置され
ているテキスト ボックス Text1 の値を取得しています。
VBW 側の準備
-
VBW を起動し、新規プロジェクトを表示します。
-
Form1 のプロパティ LinkMode を 1 に変更します。
-
Form1 に Text1 テキスト ボックスを作成します。
モジュール シートの記述
Sub MyVB()
ddechannel = Application.DDEInitiate("project1", "form1")
RuqNum = DDERequest(ddechannel, "Text1")
Worksheets("Sheet1").Range("A1").Formula = RuqNum
Application.DDETerminate ddechannel
End Sub
Keywords: KBHOWTO KB402460
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch