Excel の RTD 関数は配列を返すことができません。

文書翻訳 文書翻訳
文書番号: 286258
すべて展開する | すべて折りたたむ

概要

Microsoft Excel 2002、Microsoft Office Excel 2003、および Excel 2007 の Microsoft Office という名前の新しいワークシート関数を提供します。RTD。RTD は、Microsoft コンポーネント オブジェクト モデル (COM) オートメーション サーバーを呼び出すことができます。リアルタイムでデータを取得するには。RTD 関数を返すことができません。配列です。配列数式として、すべてのセルに RTD 関数を使用する場合配列は、エラー値 #value! を返します。

詳細

固有の柔軟性は、RealTimeData (RTD) サーバーとRTD 関数は不要の配列数式を使用できます。RTD関数は、任意の数の文字列を指定するのには、トピックを実行できる、セルに表示するデータを指定します。その他のトピックの文字列を使用して、うまく作られた RTD サーバーは単一の値を返すことができます。Excel は、1 回の呼び出しだけにする必要があります。RTD サーバーからすべてのデータを取得するのには、RTD サーバーにします。そのため、この設計妥協のないパフォーマンス。

とこのを考慮して、値の配列を取得するのには、RTD サーバーことがあります。 必要があります。1 つのトピックは、その値の配列を解析する必要もあります。複数のセルにします。この例では、RTD サーバーは、1 つの文字列を返すことができます。すべての値が含まれます。Microsoft Vba を使用する、アプリケーション (VBA) の関数データを使用できるように文字列を解析するのにはワークシートには、配列として返されます。Excel を使用することができます。 評価 配列としての文字列の形式を解釈する方法です。この文字列は中かっこで囲まれている、列は区切られてコンマ (,) で、行は、セミコロンで区切られます。たとえば、Excel をします。次の文字列を配列に 3 つの行と 4 つの列として解釈します。
{1、2、3、4 10、20、30、40; 100、200、300、400 件
または、Excel 5 と 2 行を配列として次の文字列を interpet ことができます。列:
{"a", "b", "c", "d", "e";"aa"、"bb"、"cc"、"dd"、"ee"}
次の手順に従ってを使用する方法を示しています。RTD サーバーからが複数返されるこの種類の文字列を解析します。セルです。

これを行うには、次の手順を実行します。
  1. Visual Basic プロジェクトを RTD サーバーの作成します。以下の Knowledge Base の資料に記載されています。
    285339 Excel 用の RealTimeData サーバーを作成する方法
  2. で、 RTDFunctions クラスのモジュール、プロジェクト、次の行を置き換えます、 IRtdServer_RefreshData 関数:
    aUpdates(1, n) = oTopic.TopicValue
    					
    次のコード行を置き換えます。
    Static bToggle As Boolean
    bToggle = Not (bToggle)
    If bToggle Then
       aUpdates(1, n) = "{1,2,3;10,20,30}"
    Else
       aUpdates(1, n) = "{""a"",""b"",""c"";""d"",""e"",""f""}"
    End If
    					
  3. RTD サーバーからの Visual Basic の構築します。プロジェクトです。
  4. Excel 2002、Excel 2003 または Office Excel 2007 で、ブックを新規作成し、キーを押しますVisual Basic アプリケーション用のエディターを開くには、alt キーを押しながら F11。
  5. Visual Basic の新しいコード モジュールを挿入します。アプリケーション プロジェクト、し、次のコード例は、コード モジュールを追加します。
    Function parseArrayData( arrayData as String ) as Variant
       parseArrayData = Evaluate( arrayData )
    End Function
    					
  6. Visual Basic for Applications に戻るには、エディターを終了します。Excel ブック。
  7. 2 行 3 列のセル範囲を選択、ワークシートです。
  8. 次の数式を入力して、配列として入力するのには ctrl キーと shift キーを押しながら ENTER キーを押します数式:
    =parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))
  9. 最初の更新通知後、それぞれの六つのセル一意の番号が含まれています。2 回目更新の通知後、各セル一意な文字を含んでいます。

関連情報

RealTimeData サーバーの詳細については、マイクロソフト サポート技術記事を表示するのには、次の資料番号をクリックしてください。
286259セキュリティの設定と Excel RealTimeData サーバー
285888 Excel の RTD サーバーで DCOM を使用する方法

プロパティ

文書番号: 286258 - 最終更新日: 2011年7月24日 - リビジョン: 5.0
キーワード:?
kbinfo kbmt KB286258 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:286258
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com