CDATAQUERY 関数を使って、Excel スプレッドシートにSage US dataを自動挿入

CDATAQUERY 関数を使ってデータ、スプレッドシートの任意のセルにSage US data データを自動挿入、編集、削除が可能に。

CData Excel Add-In for Sage US の関数を使って、スプレッドシートにデータを取り込むことができます。下記の3つの手順では、次のタスクを自動化する方法について説明します:ユーザー定義の値でSage US data を検索し、その結果をExcel スプレッドシートに出力します。

CDATAQUERY 関数の構文は次のとおりです: =CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation]);


  • Query:取得したいSage US data レコードの宣言、もしくは修正を簡単な構文で記述。
  • Connection:Sage50USConnection1 のような接続名、もしくは接続文字列を入力。接続文字列は、Sage US data への接続に必要なプロパティのセミコロン区切りとなります。一般的な接続文字列は次のとおりです:
    • ApplicationId
    • CompanyName

    The Application Id and Company Name connection string options are required to connect to Sage as a data source. You can obtain an Application Id by contacting Sage directly to request access to the Sage 50 SDK.

    Sage must be installed on the machine. The Sage.Peachtree.API.dll and Sage.Peachtree.API.Resolver.dll assemblies are required. These assemblies are installed with Sage in C:\Program Files\Sage\Peachtree\API\. Additionally, the Sage SDK requires .NET Framework 4.0 and is only compatible with 32-bit applications. To use the Sage SDK in Visual Studio, set the Platform Target property to "x86" in Project -> Properties -> Build.

    You must authorize the application to access company data: To authorize your application to access Sage, restart the Sage application, open the company you want to access, and connect with your application. You will then be prompted to set access permissions for the application in the resulting dialog.

    While the compiled executable will require authorization only once, during development you may need to follow this process to reauthorize a new build. To avoid restarting the Sage application when developing with Visual Studio, click Build -> Configuration Manager and uncheck "Build" for your project.

  • ResultLocation:結果のアウトプットを開始するセル。



  1. 関数をインプットするセルを定義します。接続インプットに加えて、Name のように、Sage US data の検索に使われるフィルタ用の基準を定義する追加のインプットを入力します。
  2. 別のセルに、上で定義したユーザーインプットセルからセルの値を参照する関数をを書きます。住所などスペースを含む可能性のある値は、シングルクオートで囲みます。
  3. =CDATAQUERY("SELECT * FROM Customer WHERE Name = '"&B3&"'","ApplicationId="&B1&";CompanyName="&B2&";Provider=Sage50US",B4)
  4. フィルタを変更してデータを変更します。