![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
「Nullの使い方が不正です」の...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでグループ毎に集計す...
-
エクセルデータをVBで検索でき...
-
batでレジストリキーから読み取...
-
エクセルのCSV読み込みについて
-
【C#】textBoxの指定行のデータ...
-
VB6のMsFlexGridコントロールに...
-
COBOL数値転記の仕様
-
VBAの問題がわからないのでどな...
-
【VB.NET】Excelの最終行までの...
-
access vba 『○○件づつ表示』を...
-
VB2005 で NetworkStream で取...
-
java / jsp selectedについて
-
【ExcelVBA】値を変更しながら...
-
Excel VBAでフォルダ内の全テキ...
-
MSFlexGrid 行選択状態
-
エクセルのセル最終行取得
-
Excel VBAでXML形式のデータを...
-
VBAコンボボックスの内容が反映...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
「Nullの使い方が不正です」の...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
C# DataTableに最後に追加した...
-
【ExcelVBA】値を変更しながら...
-
【VB.NET】Excelの最終行までの...
-
COBOL数値転記の仕様
-
Excel VBAでフォルダ内の全テキ...
-
富士通(汎用機)のAIMについて
-
MSFlexGrid 行選択状態
-
Excel VBAで1週間毎にカテゴリ...
-
access vba 『○○件づつ表示』を...
-
Excel VBA で日付を4ケタの数値...
-
Excel VBAでグループ毎に集計す...
-
java / jsp selectedについて
-
ExcelVBAで戻り値を返すには
-
batでレジストリキーから読み取...
-
エクセルVBA WEBからデータ取...
おすすめ情報