エクセルで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)をご覧ください。
操作対象
リボンの「開発」タブの緑線で囲まれた部分を使用します。
XMLの読み書き
エクセルでユーザーがXMLを直接編集できるようにします。
※記事の都合上、インポートからではなくXMLスキーマ、エクスポート、インポートの順で解説します。
XMLスキーマの読み込み
最初に「ソース」アイコンを押します。すると画面右側に「XMLソース」が表示されます。
次に「XMLの対応付け」ボタンをクリックします。
「XMLの対応付け」ダイアログが表示されますので「追加」ボタンで先程、ダウンロードした「excel_vba_3.xsd」を読み込んでOKボタンを押します。
すると、「XMLソース」に読み込んだスキーマファイルが表示されます。
XMLのエキスポート(保存)
次に「Root」をドラッグしてB2付近のセルへドロップします。
そして、緑枠で囲まれた部分でマウスを押しながら下へ移動してテーブルを3つぐらいにします。
次にテーブルにデータを入力します。
「エクスポート」アイコンを押して任意のファイル名でXMLファイルを作成します。
※ここで次章の「XMLのインポート」をする為にテーブルのデータをクリアします。
XMLのインポート(読み込み)
「インポート」アイコンで先程、作成したXMLファイルを読み込みます。
これによりXMLの知識がなくてもエクセルがあればXMLファイルを簡単に編集する事が可能となりました。
対応付けのプロパティ
「対応付けのプロパティ」アイコンをクリックするとXMLに関する設定が出来ます。
拡張パック
「拡張パック」アイコンをクリックするとXML拡張パックに関する設定が出来ます。
データの更新
「データの更新」アイコンをクリックするとインポートされたファイルから最新情報を読み込みます。
ドキュメントパネル
「ドキュメントパネル」アイコンをクリックすると「ドキュメント情報パネル」をカスタマイズする事が可能です。
「ドキュメント情報パネル」は「ファイル」メニューの「情報」の「プロパティ」「ドキュメントパネルを表示」
をクリックすると表示されるパネルの事です。
メモ
Excelの画面操作
Visual Basic(VBA)の表示とアドイン
ActiveXコントロールの使い方
エクセルでXMLファイルを読み書きする