2010-06-09 153 views
0
之外的所有文本

可能有一種更簡單的方法,如果有的話我會全力以赴。但是 - 我的ASP.NET頁面上有一個TON控件,並且我給了它們所有以下劃線開頭的ID。我將所有標記複製到Notepad ++中,並試圖找到一個正則表達式,它將查找除控件之外的所有內容,並用空白替換它。這樣我就會有一個文本文件,其中包含我所有的控件名稱,我可能會將它們放入Excel並執行一些字符串操作來添加「.Text =」等。正則表達式刪除除

有什麼建議嗎?

+0

順便說一句,下劃線是無效的CSS ID。通常不會導致問題,但是需要注意。 – 2010-06-10 00:26:35

+0

謝謝大衛,我其實不知道。我只使用.NET控件ID的下劃線( Barryman9000 2010-06-11 16:46:46

+0

這不是問題。這是一個css規則,而不是HTML規則,所以它只適用於你想要基於ID而不是class的樣式。 – 2010-06-13 18:52:53

回答

1

如果你只是想在運行時,所有控件的名稱,你可以很容易地列舉在你Page.Controls集合(下降到子控件,如果需要的話),並打印出你想要的任何格式的信息列表,甚至將你的」。文字= ...「就在那裏。

0

FrontPage 2003($)和SharePoint Designer 2007(免費)(如果您安裝了其中一個)的顯着優點是它們能夠通過VBA訪問文檔。

您可以通過將網頁加載到WebBrowser control並通過Document屬性訪問HtmlDocument類來做同樣的事情。

我無法找到我想要的VBA代碼,但是我確實找到了以下可能有幫助的過程。

Option Explicit 

Sub GatherFieldNames() 
    Dim tag As FrontPageEditor.IHTMLElement 
    Dim i As Long 
    Dim sDoc As String 

    sDoc = vbNullString 
    For i = 0 To ActiveDocument.all.Length - 1 
     Set tag = ActiveDocument.all.Item(i) 
     Select Case LCase$(tag.tagName) 
      Case "form" 
      Case "input", "select", "textarea" 
       'sDoc = sDoc & Trim$(tag.Name) & vbCrLf 
       'or 
       sDoc = sDoc & Trim$(tag.getAttribute("name")) & vbCrLf 
      Case "option" 
       'included with select 
      Case "table", "tbody", "tr", "td" 
      Case "b", "font" 
      Case "br", "p", "div", "hr", "span" 
      Case "a", "img" 
      Case "html", "head", "meta", "body", "script", "title", "link" 
      Case "h1", "h2", "h3", "h4", "h5", "h6" 
      Case "strong" 
      Case "webbot" 
      Case Else 
       Debug.Print tag.tagName 
     End Select 
    Next i 

End Sub