SQL ServerにXML形式のデータが"1つのカラムにロングテキスト(ntext)形式で格納"されています。
このデータをExcelのVBAで取得したのは良いのですが、XML文書からタグを指定して任意の値を取得する方法がわかりません。
とりあえず以下のように普通の取得をするまでは書いてみました。
---
Sub GetXMLDataFromSQLServ()
Dim CNN As ADODB.Connection
Dim RST As ADODB.Recordset
Dim RecCt As Long
Dim strCNN As String
Dim strData1 As String
Dim strData2 As String
Dim xmlTest As MSXML2.DOMDocument
'Connection String
strCNN = "driver={SQL Server}; server=appdemo; uid=userid; pwd=password; database=database"
Set CNN = New Connection
CNN.ConnectionTimeout = 30
CNN.Open strCNN
'レコードセットを開く
Set RST = New ADODB.Recordset
RST.CursorType = adOpenStatic
RST.Open "SELECT * FROM G_JOB_CONTENT;", strCNN
RST.MoveFirst
'シートに出力
Do Until RST.EOF
ActiveCell.Value = RST.Fields("JOB_ID")
ActiveCell.Offset(0, 1).Value = RST.Fields("XML") '---(1)
RST.MoveNext '
ActiveCell.Offset(1, 0).Activate
Loop
'レコードセットを閉じる
Set RST = Nothing
'接続を閉じる
Set CNN = Nothing
End Sub
---
(1)の部分でXMLのタグを指定し、任意のデータを得たいと考えています。
参照設定などを見て、おそらくMSXML2オブジェクトを使うのかな、というところまでは想像ついたのですけど・・・。
どなたかご教示の程をお願いいたします。
No.1ベストアンサー
- 回答日時:
Msxml2.DOMDocumentを使用して、loadXMLで読み込めばDOMツリーに展開出来ると思います。
MSXMLのリファレンスは以下のページです。
http://msdn.microsoft.com/library/en-us/xmlsdk/h …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
「Nullの使い方が不正です」の...
-
Excel VBA で日付を4ケタの数値...
-
VB6のMsFlexGridコントロールに...
-
閉じたブックからデータを取得する
-
エクセル チャートを重ねても ...
-
ListViewで表示されたデータの...
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
HTTPストリーミングによるデー...
-
エクセルVBA WEBからデータ取...
-
富士通(汎用機)のAIMについて
-
クリスタルレポートでレコード...
-
テキストファイルのフィールド...
-
VBA 変数名に変数を使用したい。
-
VBとアクセスでSQL文に変...
-
accessでフィールド追加のあと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
XMLでデータとして画像を指定す...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
Excel VBAでフォルダ内の全テキ...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
エクセルのセル最終行取得
-
エクセルデータをVBで検索でき...
-
アクセスでウェブ上のデータを...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
非同期のプロセス間通信(パイプ...
-
エクセルのCSV読み込みについて
-
MSFlexGrid 行選択状態
-
java / jsp selectedについて
-
Excel VBA で日付を4ケタの数値...
おすすめ情報