2015-09-22 130 views
0

我有一個字段的SQL-服務器2008R2表包含這樣的值(在一個字段中的所有行):VBA拆分HTML字符串

<div><font face=""Times New Roman"" size=3 color=black>MyCustomer Name Ltd.</font></div> 

<div><font face=""Times New Roman"" size=3 color=black>MyCustomer Adress</font></div> 

<div><font face=""Times New Roman"" size=3 color=black>MyCustomer Zip-code MyCustomer City</font></div> 

我在Access 2010中工作,必須導出此內容到一個Excel工作表3列:名稱,ADRESS,郵政編碼市

我試着用

Split(rs("Myfield"), "<div><font face=""Times New Roman"" size=3 color=black>") 

,但它不工作。

任何想法如何拆分這個字符串? 感謝 邁克爾

回答

0

要拆分它在錯誤的分隔符...

邏輯

主串空白
  • 斯普利特更換<div><font face=""Times New Roman"" size=3 color=black>

    這是你試試嗎ING?

    Sub Sample() 
        Dim s As String 
    
        's = rs("Myfield") 
        s = "<div><font face=""""Times New Roman"""" size=3 color=black>MyCustomer Name Ltd.</font></div>" & _ 
         "<div><font face=""""Times New Roman"""" size=3 color=black>MyCustomer Adress</font></div>" & _ 
         "<div><font face=""""Times New Roman"""" size=3 color=black>MyCustomer Zip-code MyCustomer City</font></div>" 
    
        'Debug.Print s 
    
        s = Replace(s, "<div><font face=""""Times New Roman"""" size=3 color=black>", "") 
    
        Debug.Print Split(s, "</font></div>")(0) '<~~ MyCustomer Name Ltd. 
        Debug.Print Split(s, "</font></div>")(1) '<~~ MyCustomer Adress 
        Debug.Print Split(s, "</font></div>")(2) '<~~ MyCustomer Zip-code MyCustomer City 
    End Sub 
    
  • +0

    只要字體值保持不變,一個很好的解決方案。如果情況並非如此(或者您想查看XML處理方式),請查看VBA中rjzii的XML處理[本概述](http://stackoverflow.com/a/11325/4600127)。 – Verzweifler

    +0

    是的。我根據用戶數據給出了一個解決方案。如果你看到這個問題,OP就試圖分割字體值,所以我可以放心地假設它們是相同的;) –

    +0

    我不想批評你的答案,這很好,也更重要的是簡單。我只是想提出一個事情變得更加複雜的前景:-) – Verzweifler

    0

    對不起Siddharth我不正確地使用評論。

    同時,我通過這個

    Do While Not rs.EOF 
    m = rs("MyField") 
    m = Replace(m, "<div><font face=""Times New Roman"" size=3 color=black>", "") 
    s() = Split(m, "</font></div>") 
    
    For i = LBound(s()) To UBound(s()) 
        Debug.Print s(i) 
    
    Next i 
    
    rs.MoveNext 
    

    再次感謝YR管理我行的可變數量的問題。回覆! 邁克爾