エクセルでXMLファイルを読み書きする[ExcelのVBA]
事前準備
サンプルのXMLスキーマ(XML Schema)ファイルをダウンロードします。XMLスキーマとはXMLの文章構造を定義するスキーマファイルとなります。
excel_vba_3.xsd 677 バイト (677 バイト)
ファイルの中身はこのようになっています。
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Root"> <xs:complexType> <xs:sequence> <xs:element name="レコード" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="果物"> <xs:simpleType> <xs:restriction base="xs:string" /> </xs:simpleType> </xs:element> <xs:element name="価格"> <xs:simpleType> <xs:restriction base="xs:integer" /> </xs:simpleType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
※詳細はXMLスキーマ(Wikipedeia)やXML Schemaで単純型要素を定義する(@IT)をご覧ください。
操作対象
リボンの「開発」タブの緑線で囲まれた部分を使用します。
![](../images/uploads/excel_vba_3_1.png)
XMLの読み書き
エクセルでユーザーがXMLを直接編集できるようにします。
※記事の都合上、インポートからではなくXMLスキーマ、エクスポート、インポートの順で解説します。
XMLスキーマの読み込み
最初に「ソース」アイコンを押します。すると画面右側に「XMLソース」が表示されます。
![](../images/uploads/excel_vba_3_2.png)
次に「XMLの対応付け」ボタンをクリックします。
![](../images/uploads/excel_vba_3_3.png)
「XMLの対応付け」ダイアログが表示されますので「追加」ボタンで先程、ダウンロードした「excel_vba_3.xsd」を読み込んでOKボタンを押します。
![](../images/uploads/excel_vba_3_4.png)
すると、「XMLソース」に読み込んだスキーマファイルが表示されます。
XMLのエキスポート(保存)
次に「Root」をドラッグしてB2付近のセルへドロップします。
![](../images/uploads/excel_vba_3_5.png)
そして、緑枠で囲まれた部分でマウスを押しながら下へ移動してテーブルを3つぐらいにします。
![](../images/uploads/excel_vba_3_6.png)
![](../images/uploads/excel_vba_3_7.png)
次にテーブルにデータを入力します。
![](../images/uploads/excel_vba_3_8.png)
「エクスポート」アイコンを押して任意のファイル名でXMLファイルを作成します。
※ここで次章の「XMLのインポート」をする為にテーブルのデータをクリアします。
![](../images/uploads/excel_vba_3_7.png)
XMLのインポート(読み込み)
「インポート」アイコンで先程、作成したXMLファイルを読み込みます。
![](../images/uploads/excel_vba_3_8.png)
![](../images/uploads/excel_vba_3_9.png)
これによりXMLの知識がなくてもエクセルがあればXMLファイルを簡単に編集する事が可能となりました。
対応付けのプロパティ
「対応付けのプロパティ」アイコンをクリックするとXMLに関する設定が出来ます。
![](../images/uploads/excel_vba_3_10.png)
拡張パック
「拡張パック」アイコンをクリックするとXML拡張パックに関する設定が出来ます。
![](../images/uploads/excel_vba_3_11.png)
データの更新
「データの更新」アイコンをクリックするとインポートされたファイルから最新情報を読み込みます。
ドキュメントパネル
「ドキュメントパネル」アイコンをクリックすると「ドキュメント情報パネル」をカスタマイズする事が可能です。
![](../images/uploads/excel_vba_3_12.png)
「ドキュメント情報パネル」は「ファイル」メニューの「情報」の「プロパティ」「ドキュメントパネルを表示」
![](../images/uploads/excel_vba_3_13.png)
をクリックすると表示されるパネルの事です。
![](../images/uploads/excel_vba_3_14.png)
メモ
Excelの画面操作
Visual Basic(VBA)の表示とアドイン
ActiveXコントロールの使い方
エクセルでXMLファイルを読み書きする