用VB导入导出IE收藏夹

发表于:2007-07-14来源:作者:点击数: 标签:
作者: 段键 经常使用IE上网冲浪的朋友,时间一长,通常在收藏夹里都积累了不少好东东。而一旦重装系统,尤其是当同一台机子中同时存有多个用户配置时,手工方式备份、恢复这些内容就未免麻烦。这里利用IE5对象库中的ShellUIHelper对象,编写一个简单的小程序
作者: 段键

经常使用IE上网冲浪的朋友,时间一长,通常在收藏夹里都积累了不少好东东。而一旦重装系统,尤其是当同一台机子中同时存有多个用户配置时,手工方式备份、恢复这些内容就未免麻烦。这里利用IE5对象库中的ShellUIHelper对象,编写一个简单的小程序,可以很方便的导入/导出IE收藏夹中的内容。

一、在VB6中新建工程,如图所示,在窗体上依次设置控件:

二、引用MicrosoftInternetControls对象库:
*在VB6“工程”菜单上,单击“引用”;

*在引用对话框选择“Microsoft Internet Controls”类型库ShDocVw.dll(Shell Doc Object and Control Library),然后确定。

一旦引用了部件,可以从“视图”菜单中调出“对象浏览器”工具查看部件提供的对象、接口、方法、属性、事件以及常量。这里我们要使用ShellUIHelper对象的ImportExportFavorites方法:

Sub ImportExportFavorites(fImport As Boolean, strImpExpPath As String)

FImport为True/False值时表示导出/导出收藏夹内容,strImpExpPath为书签文件的路径。

三、编写程序
Dim IsImport As Boolean
Private Sub CmdCancel_Click() ‘取消
End
End Sub
Private Sub CmdOK_Click()
ImportExportBookmark (IsImport)
End Sub
Private Sub Form_Load()
OptExport.Value = True
IsImport = False
CDlgBookmark.CancelError = True 'CancelError属性设置为 True 时,无论何时选取“取消”按钮,均产生 32755 (cdlCancel) 号错误。
End Sub
Private Sub OptExport_Click() ‘选择“导出”
IsImport = False
End Sub
Private Sub OptImport_Click() ‘选择“导入”
IsImport = True
End Sub
Private Sub ImportExportBookmark(fImport As Boolean)
Dim ObjSUH As SHDocVw.ShellUIHelper
Set ObjSUH = New SHDocVw.ShellUIHelper
If fImport = True Then
CDlgBookmark.DialogTitle = "书签文件导入收藏夹:"
On Error GoTo CancelHandler
CDlgBookmark.ShowOpen
Else
CDlgBookmark.DialogTitle= "收藏夹导出到书签文件:"
On Error GoTo CancelHandler
CDlgBookmark.ShowSave
End If
ObjSUH.ImportExportFavorites fImport, CDlgBookmark.FileName
CancelHandler: '文件对话框选择了“取消”按钮
If Err.Number = cdlCancel Then Exit Sub
End Sub

以上程序适用于IE5.0以上版本环境。

原文转自:http://www.ltesting.net