|
こんにちは安久津といいます。
>アクセスからXML形式でエキスポートしたテキスト文書を秀丸マクロでいっきに処理
>したいと考えているのですが、データの無い項目がどうやらエキスポートされないた
>め、レコードによって項目の数がばらばらなのです。これを何とか欠落したタグを挿
>入することで完全体にしたいです。
# 私は、Access のテーブル( またクエリ )を XML データにしたことはありません。
「値の無いフィールドは、要素を生成しない」とかのオプションありませんか?
たとえ Access のエクスポートが上手くいかなくても、
次のようにすれば、XML データが生成できると思います。
# 手元に Access が無いので動くかどうか分かりません。
# 適当に修正してください。(^^ )>>
sub toXML()
dim rst as DAO.Recordset
dim fld as DAO.Field
dim fv as Variant
dim fout As Integer
fout = FreeFile
' 保存する場所を指定して。
Open "C:\My Documents\table.xml" For Output As #fout
' テーブルやクエリーを指定して。
set rst = CurrentDb.OpenRecordset("テーブルの名前")
Print #fout, "<root>"
do until rst.EOF
Print #fout, "<record>"
for each fld in rst.Fields
if fld.Type <> dbLongBinary then
' fv = fld.Value
fv = IIf(IsNull(fld.Value),"", fld.Value)
if fld.Type = dbMemo and fv <> "" then
fv = Replace(fv, "&", "&")
fv = Replace(fv, "<", "<")
fv = Replace(fv, ">", ">")
fv = Replace(fv, Chr(34), """)
fv = Replace(fv, Chr(39), "'")
end if
else
fv = "NOT PRINTABLE"
end if
Print #fout, "<" & fld.Name & ">" & fv & "</" & fld.Name & ">"
next
Print #fout, "</record>"
rst.MoveNext
loop
rst.Close
Print #fout, "</root>"
Close #fout
end sub
|
|