本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL]VBWアプリケーションのテキスト ボックスの値を取得する方法

文書番号: 402460

最終更新日: 1997/10/21


この資料は以下の製品について記述したものです。


この記事は、以前は次の 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 側の準備

  1. VBW を起動し、新規プロジェクトを表示します。
  2. Form1 のプロパティ LinkMode を 1 に変更します。
  3. 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

inserted by FC2 system