XML 要素を XML マップのセルに対応付ける

インポートを Excel でXML データをエクスポートするには、必要な結果を得るためのセル内のデータと XML 要素を関連付ける XML の対応付けは役に立ちます。 いずれかを作成するには、XML スキーマ ファイル (.xsd) と XML データ ファイル (.xml) がある必要があります。XML の対応付けを作成した後に、必要な XML 要素をマップすることができます。

ヒント: Excel での XML の使用の詳細については、「Excel における XML の概要」を参照してください。

XML スキーマと XML データ ファイルを検索または作成する

サンプルの XML スキーマと XML データ ファイルを使用する

XML の対応付けを作成する

XML 要素を対応付ける

XML スキーマと XML データ ファイルを検索または作成する

別のデータベースまたはアプリケーションで XML スキーマまたは XML データ ファイルを作成した場合は、これらは既に使用可能な状態になっている場合があります。 たとえば、業務アプリケーションでデータを XML ファイル形式にエクスポートしたり、商用の Web サイトや Web サービスで XML ファイルを提供したり、自社の IT 部門で開発したカスタム アプリケーションで XML ファイルを自動作成したりする場合です。

必要な XML ファイルがない場合は、テキスト ファイルとして使用するデータを保存して、XML ファイルを作成できます。 テキスト ファイルを必要な XML ファイルに変換するには、Access と Excel のどちらでも使用できます。 この方法を次に紹介します。

Access

  1. 変換するテキスト ファイルをインポートして、新しいテーブルにリンクします。

    1. [ファイル]、[開く] をクリックします。

    2. [ファイルを開く] ダイアログ ボックスで、新しいテーブルを作成するデータベースを選んで開きます。

    3. [外部データ]、[テキスト ファイル] の順にクリックして、各手順の指示に従い、確実にテーブルをテキスト ファイルにリンクします。

      Access により新しいテーブルが作成され、ナビゲーション ウィンドウに表示されます。

  2. リンク テーブルから XML データ ファイルと XML スキーマ ファイルにデータをエクスポートします。

    1. [外部データ]、[XML ファイル] ([エクスポート] グループ内にあります) の順にクリックします。

    2. [エクスポート - XML ファイル] ダイアログ ボックスでファイル名と書式を指定し、[OK] をクリックします。

  3. Access を終了します。

Excel

  1. Access からエクスポートした XML スキーマに基づいて、XML の対応付けを作成します。

    [複数ルート] ダイアログ ボックスが表示された場合は、XML テーブルを作成できるように、[dataroot] を選びます。

  2. dataroot 要素を対応付けて XML テーブルを作成します。 詳細については、「XML 要素を対応付ける」を参照してください。

  3. Access からエクスポートされたXML ファイルをインポートします。

注記: 

  • Excel でサポートされていない XML スキーマ構造がいくつかあります。次に示す XML スキーマ構造は、Excel にインポートできません。

  • <any>    この要素を使うと、スキーマで宣言されていない要素を含めることができます。

  • <anyAttribute>    この要素を使うと、スキーマで宣言されていない属性を含めることができます。

  • 再帰構造   再帰構造の一般的な例として、同じ XML 要素が複数のレベルにネストされている社員と上司の階層構造が挙げられます。Excel では、複数のレベルから成る再帰構造をサポートしていません。

  • 抽象型の要素   抽象型の要素は、スキーマで宣言されているものの、要素として使われることのない要素です。抽象型の要素は、抽象型の要素の代わりに使われる別の要素に依存しています。

  • 代替グループ   これらのグループを使うと、ある要素を、それが参照する別の要素の代わりに使うことができます。ある要素が別の要素の代替グループのメンバーであることを示すには、<substitutionGroup> 属性を使います。

  • 混在したコンテンツ   このコンテンツは、複合型の定義で mixed="true" を使うことで宣言されています。Excel では、複合型の単純なコンテンツをサポートしていませんが、その複合型で定義されている子のタグと属性はサポートしています。

サンプルの XML スキーマと XML データ ファイルを使用する

次のサンプル データには、XML ファイルや、XML ファイルを作成するためのテキスト ファイルがない場合に、XML の対応付けをテストするために使用できる基本的な XML 要素と構造が用意されています。 このサンプル データをコンピューター上のファイルに保存する方法を説明します。

  1. コピーするファイルのサンプル文字を選び、Ctrl キーを押しながら C キーを押します。

  2. メモ帳を起動し、Ctrl キーを押しながら V キーを押して、サンプル テキストを貼り付けます。

  3. Ctrl キーを押しながら S キーを押して、コピーしたサンプル データのファイル名と拡張子を使って、ファイルを保存します。

  4. メモ帳で Ctrl キーを押しながら N キーを押して、手順 1 ~ 3 を繰り返し、2 つ目のサンプル テキストのファイルを作成します。

  5. メモ帳を終了します。

サンプル XML データ (Expenses.xml)

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>

サンプル XML スキーマ (Expenses.xsd)

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

XML の対応付けを作成する

XML の対応付けを作成するには、XML スキーマをブックに追加します。スキーマは XML スキーマ ファイル (.xsd) からコピーできますが、Excel では XML データ ファイル (.xml) からスキーマの推定を試すこともできます。

  1. [開発]、[ソース] の順にクリックします。

    [開発者] タブの [XML] コマンド

    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。

  2. [XML ソース] 作業ウィンドウで、[XML の対応付け] をクリックして、[追加] をクリックします。

  3. [検索対象] の一覧で、開こうとしているファイルが置かれているドライブ、フォルダー、またはインターネットをクリックします。

  4. ファイルをクリックし、[開く] をクリックします。

    • XML スキーマ ファイルの場合、XML がその XML スキーマに基づいて XML の対応付けを作成します。[複数ルート] ダイアログ ボックスが表示されたら、XML スキーマ ファイルで定義されているルート ノードの 1 つを選びます。

    • XML データ ファイルの場合、Excel が XML データから XML スキーマの推定を試み、それによって XML の対応付けを作成します。

  5. [OK] をクリックします。

    XML の対応付けが [XML ソース] 作業ウィンドウに表示されます。

XML 要素を対応付ける

XML テーブルで XML 要素を単一対応付けセルや繰り返しセルに対応付けて、XML スキーマでセルと XML 要素の間に関係を作成することができます。

  1. [開発]、[ソース] の順にクリックします。

    [開発者] タブの [XML] コマンド

    [開発] タブが表示されていない場合は、「[開発] タブを表示する」を参照してください。

  2. [XML ソース] 作業ウィンドウで、対応付ける要素を選びます。

    隣接していない複数の要素を選ぶには、要素を 1 つクリックした後で、Ctrl キーを押しながら対応付けたい他の要素をクリックします。

  3. 要素を対応付けるには、次の操作を行います。

    1. 選んだ要素を右クリックし、[要素の対応付け] をクリックします。

    2. [XML 要素の対応付け] ダイアログ ボックスでセルを選び、[OK] をクリックします。

      ヒント: 選んだ要素は、ワークシート内で表示したい位置にドラッグすることもできます。

      各要素は [XML ソース] 作業ウィンドウに太字で表示され、要素が対応付けられていることを示します。

  4. ラベルと列見出しの処理方法を決定します。

    • 単一対応付けセルを作成するために XML の非繰り返し要素をワークシートにドラッグすると、3 つのコマンドを備えたスマート タグが表示されます。このタグを使って、見出しやラベルの配置を制御できます。

      データ内の見出しを使用する   セルに既に見出しがある (データの左または上) ことが理由で XML 要素見出しを無視するときは、このオプションをクリックします。

      XML 見出しを左に配置する    XML 要素見出しをセル ラベルとして使うとき (データの左) は、このオプションをクリックします。

      XML 見出しを上に配置する    XML 要素見出しをセル ラベルとして使うとき (データの上) は、このオプションをクリックします。

    • XML テーブル内に繰り返しセルを作成するために XML の繰り返し要素をワークシートにドラッグすると、XML 要素の名前が自動的にテーブルの列見出しとして使われます。ただし、列見出しのセルを編集して、列見出しを自由に変更できます。

      [XML ソース] 作業ウィンドウで [オプション] をクリックすると、XML テーブルの動作をさらに制御できます。

      対応付け時に隣接する要素を結合   このチェック ボックスをオンにすると、要素を XML テーブルに隣接するセルにドラッグするときに XML テーブルが自動的に拡張されます。

      データ内の列見出しを使用   このチェック ボックスをオンにすると、繰り返し要素をワークシートに対応付けるときに、既存のデータを列見出しとして使うことができます。

      注記: 

      • XML コマンドがすべて淡色表示になり、XML 要素をセルに対応付けることができない場合は、ブックが共有されている可能性があります。 [レビュー]、[ブックの共有] をクリックして、そのことを確認し、必要に応じて、共有使用からブックを削除します。

        共有するブックで XML 要素を対応付けたい場合は、XML 要素を目的のセルに対応付け、XML データをインポートし、XML の対応付けをすべて削除し、それからブックを共有します。

      • データを含んでいる XML テーブルを別のブックにコピーできない場合は、XML テーブルがデータ構造を定義している XML 対応付けに関連付けられている可能性があります。 この XML 対応付けはブックに保存されますが、XML テーブルを別のブックにコピーした場合、XML の対応付けは自動では含まれません。 XML テーブルをコピーする代わりに、Excel では同じデータを含んでいる Excel テーブルが作成されます。 新しいテーブルを XML テーブルにするには、次の操作を行います。

        1. 元の XML の対応付けを作成するのに使った .xml ファイルまたは .xsd ファイルを使って、新しいブックに XML の対応付けを追加します。 他のブックに XML の対応付けを追加する場合は、これらのファイルを保存する必要があります。

        2. XML 要素をテーブルに対応付けて、それを XML テーブルにします。

      • 繰り返し要素を結合セルに対応付けると、Excel によってそのセルが結合解除されます。 繰り返し要素は結合解除されたセルでのみ機能するようになっているため、これは想定内の動作です。

        単一の非繰り返し型 XML 要素を結合セルに対応付けることはできますが、繰り返し型 XML 要素 (または繰り返し型要素を含んでいる要素) を結合セルに対応付けることはできません。 セルの結合は解除され、要素はポインターが置かれているセルに対応付けられます。

ヒント: 

  • 使いたくない、または XML データをインポートする場合にセルの内容を上書きされたくない XML 要素の対応を解除することができます。 たとえば、XML ファイルのインポート時に数式が上書きされるのを望まない場合は、数式が含まれている単一対応付けセルまたは繰り返しセルから、XML 要素の対応付けを一時的に解除できます。 インポートが完了したら、この XML 要素を数式が含まれているセルに再び対応付け、数式の結果を XML データ ファイルにエクスポートすることができます。

  • XML 要素の対応付けを解除するには、[XML ソース] 作業ウィンドウで要素の名前を右クリックし、[要素の削除] をクリックします。

[開発] タブを表示する

[開発] タブが表示されない場合は、次の操作を行って表示します。

  • Excel 2010、Excel 2013、Excel 2016 の場合:

    1. [ファイル]、[オプション] の順にクリックします。

    2. [リボンのユーザー設定] をクリックします。

    3. [メイン タブ] で [開発] ボックスをオンにし、[OK] をクリックします。

  • Excel 2007 の場合:

    1. [Microsoft Office] Office ボタンの画像 、[Excel のオプション] をクリックします。

    2. [基本設定] カテゴリをクリックします。

    3. [Excel の使用に関する基本オプション] で [[開発] タブをリボンに表示する] ボックスをオンにし、[OK] をクリックします。

注記: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

関連項目

Excel で XML の概要

インポートの XML データ

[XML のエクスポート データ

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

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

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

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

×