DDESend 関数

DDESend 関数を使用して、別のアプリケーションと動的データ交換 (DDE) 通信を開始して、情報のアイテムをフォームまたはレポートのコントロールのアプリケーションに送信することができます。

たとえば、テキスト ボックスの ControlSource プロパティに DDESend 関数を使用して、テキスト ボックスに表示されたデータを Microsoft Office Excel 2007 スプレッドシートの指定されたセルに送信できます。

構文

DDESend ( application, topic, item, data )

DDESend 関数の構文には、次の引数があります。

引数

説明

application

DDE 通信に参加できるアプリケーションを示す 文字列式 です。通常、application は、Excel などの Microsoft Windows ベースのアプリケーションの実行可能ファイル (.exe 拡張子なし) の名前です。たとえば、Excel で DDE 通信を開始するには、 application 引数に "Excel" と入力します。

topic

application によって認識されるトピックの名前である文字列式です。通常、topic 引数は、ドキュメントまたはデータ ファイルです。可能なトピックのリストについては、その他のアプリケーションのドキュメントをご確認ください。

item

application によって認識される データ項目 の名前である文字列式です。可能性のあるアイテムのリストについては、その他のアプリケーションのドキュメントをご確認ください。

data

application に送信するデータを含む文字列または 式 です。


解説

DDESend 関数では、applicationtopic を使用して DDE 通信を開始し、data を受信するデータ アイテムとして item を特定します。たとえば、application が Excel の場合、topic"Sheet1" で、item"R1C1" などの行と列の識別子またはセルの範囲の名前である可能性があります。

data 引数では、送信する情報を指定します。これは "Report prepared by John" などのリテラル文字列や、"Prepared on " & Date() などの文字列を作成する関数の結果を含む式である可能性があります。item が複数のセルを含む Excel ワークシートの名前付き範囲などの複数の情報を参照する場合、DDESend 関数は data を最初のエントリに送信します。

次の例で、DDESend 関数は、文字列 "Some text" を Excel ワークシートの行 1、列 1 のセルに送信します。コントロールのプロパティ シートの ControlSource プロパティ ボックスで、テキスト ボックス コントロールに次の式を入力できます。

=DDESend("Excel", "Sheet1", "R1C1", "Some text")

Microsoft Office Access 2007 フォームのバインドされたコントロールから Excel スプレッドシートのセルにデータを送信する必要があるとします。バインドされたコントロールの ControlSource プロパティには、既にファイル名または式が含まれています。data がバインドされたコントロールの名前の場合、別のテキスト ボックスまたはコンボ ボックスを作成し、その ControlSource プロパティを DDESend 関数を含む式に設定することができます。 たとえば、LastName と呼ばれるバインドされたテキスト ボックスがある場合は、別のテキスト ボックスを作成して、その ControlSource プロパティを次のように設定できます。

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

この中継コントロールは、テキスト ボックスまたはコンボ ボックスである必要があります。バインドされたコントロールの名前を、チェック ボックスまたはオプション グループの data 引数として使用することはできません。

フォーム上のテキスト ボックス、オプション グループ、チェック ボックス、またはコンボ ボックスの ControlSource プロパティの設定にのみ、DDESend 関数を使用することができます。Visual Basic for Applications (VBA) モジュールから DDESend 関数を呼び出すことはできません。

DDESend 関数を使用すると、コントロールはフォーム ビューと印刷プレビューで読み取り専用になります。ControlSource プロパティはフォーム ビューと印刷プレビューでも読み取り専用であるため、コントロールへの変更はデザイン ビューで行う必要があります。

Microsoft Windows と、コンピューターのメモリおよびリソースによって、同時に開くことができる DDE 通信の最大数が決まります。application が実行されていなかったり、topic を認識しなかったり、または通信の最大数に既に達していたりするために、通信を開始できない場合は、DDESend 関数は Null を返します。

注: 他のアプリケーションでは、DDE 通信への要求を無視するように設定されている可能性があります。その場合、DDESend 関数は Null を返します。同様に、その他のアプリケーションからの要求を無視するように Access を設定できます。[ファイル] メニューの [Access のオプション] をクリックし、[アプリケーションの設定] ダイアログ ボックスで [詳細設定] をクリックします。[DDE 操作] で、[DDE 要求を無視] を選択します。

ヒント     Access から別のアプリケーションのオブジェクトを操作する必要がある場合は、オートメーションの使用を検討することができます。

次の表では、各コントロールと共に使用するときに、DDESend 関数がどのように動作するかを示しています。

コントロール

解説

テキスト ボックスまたはコンボ ボックス

フォーム ビューと印刷プレビューでは、テキスト ボックスまたはコンボ ボックスが空白で表示されるため、Visible プロパティを False に設定する必要がある可能性があります。

data 引数は、別のコントロールを参照することができます。次の例では、Excel ワークシートに LastName と呼ばれるコントロールの内容を送信する方法を示しています。

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

オプション グループ

フォーム ビューおよび印刷プレビューでは、オプション グループのいずれのオプション ボタンも選択されていません。Visible プロパティを False に設定して、オプション グループ (およびそのボタン) を非表示にする必要がある場合があります。

data 引数には、"2" などの数値データを含める必要があります。data 引数が数値ではない場合、DDESend 関数が情報を送信することはなく、item は変更されません。

チェック ボックス

フォーム ビューと印刷プレビューでは、チェック ボックスは網かけ表示になります。Visible プロパティを False に設定して、非表示にする必要がある場合があります。

data 引数には、"2" などの数値データを含める必要があります。data 引数が数値ではない場合、DDESend 関数が情報を送信することはなく、item は変更されません。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×