LoginSignup
1
4

More than 3 years have passed since last update.

【ExcelVBA】Excelを使ってXMLを作る

Last updated at Posted at 2020-05-01

VBAを使ってxmlを作る方法

環境

  • Windows10 Pro(x64)
  • Excel 2016

手順

  1. Excel起動 -> 開発 -> Visual Basic -> Visual Basic for Applications を起動する
  2. ツール(T) -> 参照設定(R) を押して参照設定ウィンドウを開く1
  3. 「Microsoft XML, v6.0」にチェックを入れてOKボタンを押す
  4. 挿入(I) -> 標準モジュール(M)を押す

参考:[ VBA ] xml ファイルを作成する ( MSXML2.DOMDocument60 )
http://hensa40.cutegirl.jp/archives/4975

XML Schema定義 (XSD)を使ってxmlを作る

VBAを組む必要なくエクセル上でXMLのデータを扱えるので試す分にはこっちの方が楽。
ただし、以下の点に注意。

  1. エクスポートしたxmlファイルに名前空間(ns1:)が表示される
  2. リスト内のリストは表現できない2

環境

  • Windows10 Pro(x64)
  • Vual Studio Community 2019(XSD作成のため)
  • Excel 2016

手順

  1. ひな形となる XML ファイルを事前につくる
  2. ひな形から、XML スキーマファイル(*.xsd)をつくる
  3. エクセルのワークシートのセルに XML の要素を対応付ける
  4. エクセル上でデータを作成する
  5. 編集したデータを XML ファイルとして出力する

参考:Excel 2010 を使って XML ファイルを編集する
https://qiita.com/go_astrayer/items/70dc67f6a4468d26794b

スキーマの名前空間について

秀丸などのテキストエディタを使って不要な名前を置換すればいいのでそこまで問題ないと思う。
詳しく知りたい人は、スキーマファイルの宣言を調べてみてください。

スキーマ宣言
http://www.mitchy-world.jp/xml/xmlschema/step02.htm


  1. 参照設定がグレーアウトになっている人は裏でマクロが動いている可能性がある 

  2. エクセルの仕様で出来ない様になっているようだ。しかしリスト内リストが使えないのは本当に痛い 

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4