• ベストアンサー

ExcelでXMLっぽいファイルの編集をしたい

ExcelでXMLもどきの編集をしたいと考えています。 XMLもどきのファイルの内容は以下のようになっています。  <rule parameter1="みかん" parameter2="とまと" parameter3="あずき" />  <rule parameter1="りんご" parameter3="だいず" parameter4="わかめ" />  <rule parameter1="もも" parameter2="きゅうり" parameter5="ミルク" /> これらの情報の中から、" " 内の文字列を抽出して、パラメータ毎に 分類して以下のように整理しようとしています。  parameter1 parameter2 parameter3 parameter4 parameter5  みかん とまと あずき  りんご だいず わかめ  もも きゅうり ミルク 関数やマクロを利用して、これらの作業を簡単に行う方法はないでしょうか? お知恵をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • iriyak
  • ベストアンサー率48% (40/82)
回答No.3

こんにちは。 ANo.1 さんの紹介されている XSL 変換機能を提供しているソフトウェアと Excel を組み合わせて、XML ファイルの更新運用をデザインされてはいかがでしょうか。 XSL 変換機能を提供しているソフトウェア例 ・XMLEDITOR .NET

参考URL:
http://www.xmleditor.jp/

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

昨日から正規表現にはまっていますので、その線で回答いたします。 Sub test() Dim regEX As Variant Dim Matches As Variant Dim match As Variant Dim matchString As String Dim targetString As String Dim subMatch As Object Dim i As Long targetString = readTextFile("C:\Documents and Settings\?????\My Documents\hoge.txt") matchString = "(parameter\d)=""(\S*)""" Set regEX = CreateObject("VBScript.RegExp") regEX.MultiLine = True regEX.Pattern = matchString regEX.ignorecase = True regEX.Global = True Set Matches = regEX.Execute(targetString) i = 1 For Each match In Matches If match.submatches.Count > 0 Then ActiveSheet.Cells(i, 1).Value = match.submatches.Item(0) ActiveSheet.Cells(i, 2).Value = match.submatches.Item(1) i = i + 1 End If Next match Set Matches = Nothing Set regEX = Nothing End Sub Private Function readTextFile(fileName As String) As String Dim FSO As Object Dim buf As String Set FSO = CreateObject("Scripting.FileSystemObject") With FSO.getfile(fileName).OpenAsTextStream buf = .ReadAll readTextFile = buf .Close End With Set FSO = Nothing End Function 処理結果 ....................A................B 1........parameter1..........みかん 2........parameter2..........とまと 3........parameter3..........あずき 4........parameter1..........りんご 5........parameter3..........だいず 6........parameter4..........わかめ 7........parameter1..........もも 8........parameter2..........きゅうり 9........parameter5..........ミルク ご質問の形とは異なりますが、後はお好きな様に料理して下さい。 中味が知りたければ、VBA 正規表現 で検索して下さい。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

xsltを使ってcsv的なテキストを吐き出してエクセルで読み込んだら良いんじゃない? http://www.infoteria.com/jp/contents/xml-data/REC-xslt-19991116-jpn.htm http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=xslt%20%E5%85%A5%E9%96%80

関連するQ&A