HOWTO:通过 VBA 在 FrontPage 2003 中建立自定义 HTML 代码检查程序
来源:互联网 发布:微信广告制作软件 编辑:程序博客网 时间:2024/05/21 08:50
在 FrontPage 中提供了 HTML 代码检查功能,它可以方便提高您网页的辅助功能(主要是检查您的网页是否符合全部人群浏览,详细信息请参阅 FrontPage 帮助)。同样的,我们也可以利用 VBA 轻松的自定义一套自己的 HTML 规则检测程序。(此程序只适用于 FrontPage 2003 版本,因为对于 SearchInfo 其它版本不支持)
我们在模块中建立一个过程,这是我们这套自定义程序的主体:
Public Function CustomSearchInfo(ByVal strFindTxt As String, ByVal autoSelect As Boolean, ByVal msgFound As String, ByVal msgNotFound As String) As String
'02/13/2006 陈炜 (谨以此程序纪念我和她分手一周年)
On Error GoTo CannotDo
'--------
'变量声明
'--------
Dim objSearchInfo As SearchInfo
Dim objRange As IHTMLTxtRange
Dim objDoc As FPHTMLDocument
Dim bIsExs As Boolean
'-----------------------------------------------------------------------------
'对变量的赋值
'注:对于 Set objRange = objDoc.Selection.createRange 这句赋值语句,如果在代
'码页内修改了 HTML 代码并且没有保存文件的话,就会出现权限访问问题(错误代码70)。
'对于 Set objDoc = ActiveDocument 这句赋值语句,如果在无窗口模式下运行宏,就会
'出现变量无法赋值的问题(错误代码91)。
'-----------------------------------------------------------------------------
Set objDoc = ActiveDocument
Set objSearchInfo = Application.CreateSearchInfo
Set objRange = objDoc.Selection.createRange
objSearchInfo.Find = strFindTxt
'使用 HTML 标记查询方法(该方法属于 FpSearchAction)
objSearchInfo.Action = fpSearchFindTag
'这里可以使用 objSearchInfo.Options = (FpSearchOptions 中的方法), 来设置搜索选项
'如区分大小写: objSearchInfo.Options = fpSearchMatchCase
bIsExs = objDoc.Find(objSearchInfo, Null, objRange)
If bIsExs = True Then
MsgBox msgFound, vbApplicationModal + vbInformation, "自定义 HTML 检测"
If autoSelect = True Then objRange.Select
Else
MsgBox msgNotFound, vbApplicationModal + vbExclamation, "自定义 HTML 检测"
End If
'返回指定的搜索到的所有文本内容: CustomSearchInfo = objRange.Text
'返回指定的搜索到的所有 HTML 标记内容
'如果中途出现错误那么会返回空值
CustomSearchInfo = objRange.htmlText
Exit Function
CannotDo:
If Err.Number = 70 Then
MsgBox "如果在代码页内修改了 HTML 代码并且没有保存文件的话,就会出现权限访问问题。" & vbNewLine & "请保存后再重新运行此宏。", vbApplicationModal + vbExclamation, "错误"
ElseIf Err.Number = 91 Then
MsgBox "如果您在无窗口情况下下运行此宏命令,那么会出现变量无法赋值的错误。(但不排除会有其他变量问题出现)" & vbNewLine & "请打开至少一个网页后再运行此宏。", vbApplicationModal + vbExclamation, "错误"
Else
If MsgBox("[ " & Err.Number & " ] " & Err.Description & vbNewLine & "发生如上错误,是否重试?", vbApplicationModal + vbCritical + vbRetryCancel, "错误") = vbRetry Then Resume
End If
End Function
对于以上过程中的代码我已在相关部分标写了注释,如仍有不解之处或错误的地方请予以指出,我会及时加以改正。下面我们来建立一个单独的宏(也可以插入到您的宏中),并调用此代码:
Sub MySearchInfo()
'这里使用 MsgBox 返回函数运行结果
MsgBox CustomSearchInfo("center", True, "已找到预定的旧的 HTML 标记", "没有找到预定的标记")
End Sub
这样我们便可以轻松的通过建立菜单项或工具栏按钮来直接调用函数了。有关问题请参阅我关于如何在 FrontPage 中建立宏并指派到菜单项的文章( http://blog.csdn.net/frontgoggle/archive/2006/02/11/597023.aspx )。
最后要提到的是对于 CustomSearchInfo 函数及其参数的一些说明:
strFindTxt 字符串类型,为想要搜索的 HTML 标记,如搜索 <center>...</center>,只需键入 center 即可。
autoSelect 布尔值,表示是否自动选中标记(自动选定:True,不自动选定:False)
msgFound 字符串类型,表示当寻找到相关字符串时所弹出的对话框中所显示的内容
msgNotFound 字符串类型,表示当未寻找到相关字符串时所弹出的对话框中所显示的内容
该函数成功运行后会返回包含相关标记和标记内容的字符串,可以被 MsgBox 等函数调用,也可赋值给 TextBox.Text。
- HOWTO:通过 VBA 在 FrontPage 2003 中建立自定义 HTML 代码检查程序
- HOWTO:在 FrontPage 中建立宏,并指派到菜单项
- HOWTO:通过编程向 FrontPage 中添加 COM 加载项
- HOWTO:通过 VBA 自定义 Office 助手
- HOWTO:在 FrontPage 中加载 .Net 加载项
- [Howto]在Symbian程序中启动第三方程序
- 在VBA中删除行纪录代码
- 如何在frontpage中定义css样式?
- 在Vs2013通过Opencv建立程序
- 在QtCreator中纯代码编写程序编译无法通过
- 通过宏(vba)在邮件合并中添加附件
- 通过VBA代码合并单元格
- HOWTO:为 FrontPage 定制网页编码插件
- 在Borland C++Builder中检查程序
- VBA技术在WORD中添加自定义菜单调用宏
- VBA代码执行过程中,显示程序的运行状态
- 在VC++中建立自定义数据库类
- 在mageoto中建立自定义页面
- linux教程下载地址
- Java代码查询站点
- 叹!
- 李清照:《如梦令》
- 情人节的传说
- HOWTO:通过 VBA 在 FrontPage 2003 中建立自定义 HTML 代码检查程序
- 《Microsoft Windows 2000 服务器端编程》 -- 第一章:为什么要开发服务程序?
- 篮球术语普及A~Z
- 初识mind-mapping
- 我的大学
- 日本宣布红外线激光器的3D显示技术
- 整理一个ANT在J2EE项目中的应用,含预编译JSP和打包WAR/EAR文件!
- 在职程序员为啥比不过在野程序员
- D Programming Language