可能有一種更簡單的方法,如果有的話我會全力以赴。但是 - 我的ASP.NET頁面上有一個TON控件,並且我給了它們所有以下劃線開頭的ID。我將所有標記複製到Notepad ++中,並試圖找到一個正則表達式,它將查找除控件之外的所有內容,並用空白替換它。這樣我就會有一個文本文件,其中包含我所有的控件名稱,我可能會將它們放入Excel並執行一些字符串操作來添加「.Text =」等。正則表達式刪除除
有什麼建議嗎?
可能有一種更簡單的方法,如果有的話我會全力以赴。但是 - 我的ASP.NET頁面上有一個TON控件,並且我給了它們所有以下劃線開頭的ID。我將所有標記複製到Notepad ++中,並試圖找到一個正則表達式,它將查找除控件之外的所有內容,並用空白替換它。這樣我就會有一個文本文件,其中包含我所有的控件名稱,我可能會將它們放入Excel並執行一些字符串操作來添加「.Text =」等。正則表達式刪除除
有什麼建議嗎?
如果你只是想在運行時,所有控件的名稱,你可以很容易地列舉在你Page.Controls
集合(下降到子控件,如果需要的話),並打印出你想要的任何格式的信息列表,甚至將你的」。文字= ...「就在那裏。
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
順便說一句,下劃線是無效的CSS ID。通常不會導致問題,但是需要注意。 – 2010-06-10 00:26:35
謝謝大衛,我其實不知道。我只使用.NET控件ID的下劃線(
Barryman9000
2010-06-11 16:46:46
這不是問題。這是一個css規則,而不是HTML規則,所以它只適用於你想要基於ID而不是class的樣式。 – 2010-06-13 18:52:53