![](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ランキング
-
ADODBでの行番号の取得、もしく...
-
部品表
-
エクセルVBA WEBからデータ取...
-
【C#】textBoxの指定行のデータ...
-
アクセスでウェブ上のデータを...
-
VB6のMsFlexGridコントロールに...
-
Excel VBAでフォルダ内の全テキ...
-
ListViewで表示されたデータの...
-
VBAでアクセスDBからデータの取...
-
c言語で自分のホームディレク...
-
VBA ReDim と ReDim Preserve ...
-
VBAのstrConv関数のUNICODE変換...
-
C++ 文字列変数と16進数の比較
-
ReDim PreserveよりもReDimが遅い
-
VB.NET データセットとADOレコ...
-
EXCEL VBAの課題です
-
MDBテーブルへの追加変更を教え...
-
配列をランダムに並び替えても...
-
vb.netでデータベース(Access)...
-
アクセスでADO 並べ替えが適用...
マンスリーランキングこのカテゴリの人気マンスリー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からデータ取...
おすすめ情報