如何导出收藏夹到文件或者导入文件到收藏夹
在VB中选择菜单的Project | References 选项,在References对话框中选择Microsoft Internet Controls项,然后在程序中加入以下语句:
Dim dc As New SHDocVw.ShellUIHelperdc.ImportExportFavorites False, "c:\a.html"
Set dc = Nothing
就可以将收藏夹导出到 c:\a.htm 中了,如果要从文件导入到收藏夹,只要将上面的False改为True,将"c:\a.html"改为要导入的文件名就可以了。
在VB中选择菜单的Project | References 选项,在References对话框中选择Microsoft Internet Controls项,然后在程序中加入以下语句:
Dim dc As New SHDocVw.ShellUIHelperdc.ImportExportFavorites False, "c:\a.html"
Set dc = Nothing
就可以将收藏夹导出到 c:\a.htm 中了,如果要从文件导入到收藏夹,只要将上面的False改为True,将"c:\a.html"改为要导入的文件名就可以了。
我但要做成通用的程序——————比较困难。
如果微软给咱一个接口就好了,可能小生学太少,也许它给我咱还不知道。
VB有个控件叫RICHEDIT,你看看能不能把它和WebBrowser结合起来,
再用一些剪贴板函数,保存的文件格式或许和WORD是兼容的。
1.首先把那个网页存成文件
2.用word打开这个网页文件(Word本身支持网页格式的)
3.调用程序把这个打开的Word文件另存为Word文件
4.删除原先那个存出的网页文件以上思路没有程序测试。
能保存成 .rtf 格式的文件,WORD能支持RTF格式的文件。
' 同理,使用 VC 也可以类似如下方法解决
' 在 VC 中步骤如下:
' (1)在 App Wizard 中选择支持 Automation
' (2)Class Wizard -> Add class -> From a Type Library
' "c:\program files\microsoft offic\office\msword8.olb"
' 这样就可以对 Word 对象进行操作了。Private Sub cmdConvert_Click() ' 建立 Word.Application 对象 Dim objWord As New Word.Application
objWord.Visible = False
' 打开要进行格式转化的文档
objWord.Documents.Open "c:\ddd.doc"
Debug.Print "ASSERT::" & objWord.FileConverters("HTML").FormatName
' 引用转化器,将文档保存为其它格式,转化器的选用取决于转化器的 ClassName
objWord.ActiveDocument.SaveAs "c:\ddd.html", objWord.FileConverters("HTML").SaveFormat
MsgBox "Converted!", vbInformation, "Doc2Html"
Set objWord = NothingEnd SubPrivate Sub Form_Load() Dim objWord As New Word.Application
Dim objConverter As Word.FileConverter
objWord.Visible = False
' 遍历所有可用转化器的 FormatName 和 ClassName For Each objConverter In objWord.FileConverters
Debug.Print "Converter = " & objConverter.FormatName
Debug.Print "ClassName = " & objConverter.ClassName
Next
Set objWord = Nothing
End Sub
WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "about:blank"
End Sub
Private Declare Function GetWindowText& Lib "user32" Alias "GetWindowTextA" _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long)
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey& Lib "user32" Alias "MapVirtualKeyA" _
(ByVal wCode As Long, ByVal wMapType As Long)Private Const VK_CONTROL& = &H11 'ctrl键的虚拟键值
Private Const KEYEVENTF_KEYUP% = &H2
Private Const VK_V& = &H56 'V键的ascii码值(虚拟键值)Private Sub Command1_Click()
Text1.Text = ""
End SubPrivate Sub Text1_Change()
Timer1.Enabled = True
Clipboard.Clear
Clipboard.SetText Form1.Text1.Text
End SubPrivate Sub Timer1_Timer()
Dim dl1&, dl2&
Dim Canp As String * 255
dl1& = GetForegroundWindow&() '获取当前活动窗口的句柄
dl2& = GetWindowText&(dl1&, Canp$, 255) '获取窗口的标题 If Left(Canp$, 14) = "Microsoft Word" Then
MyCapture 1
Timer1.Enabled = False
End If
End Sub
Public Sub MyCapture(ByVal mode%) '生成一次模拟击键Ctrl+v
Dim altscan%
Dim dl&
Dim snapparam%
altscan% = MapVirtualKey(VK_CONTROL, 0)
keybd_event VK_CONTROL, altscan, 0, 0
keybd_event VK_V, 0, 0, 0
keybd_event VK_CONTROL, altscan, KEYEVENTF_KEYUP, 0
End Sub