2010-06-09 101 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