可能有一种更简单的方法,如果有的话,我会全力以赴。但是 - 我的ASP.NET页面上有一个TON控件,我给它们所有以下划线开头的ID。我将所有标记复制到Notepad ++中,我试图找到一个正则表达式,它将找到除控件之外的所有内容并用空格替换它。这样,我将有一个文本文件,其中包含我可能会抛出到Excel中的所有控件名称,并进行一些字符串操作以添加“.Text =”等。
有什么建议吗?
答案 0 :(得分:1)
如果您只想要所有控件名称,您可以在运行时轻松枚举Page.Controls
集合(如果需要,可以下载到子控件中)并打印出您想要的任何格式的列表,甚至可以添加“。 Text = ...“就在那里。
答案 1 :(得分:0)
FrontPage 2003($)和SharePoint Designer 2007(免费)(如果安装了其中一个)的一个显着优势是它们能够通过VBA访问文档。
您可以通过将网页加载到WebBrowser control
并通过HtmlDocument
属性访问Document
类来执行相同的操作。
我找不到符合您要求的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