Làm th? nào đ? s? d?ng đi?u khi?n WebBrowser đ? m? m?t tài li?u văn ph?ng

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 243058 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Khi làm vi?c v?i các tài li?u văn ph?ng b?n có th? mu?n hi?n th? các tài li?u tr?c ti?p trong Visual Basic, nhưng không mu?n t?o m?t nhúng OLE đ?i tư?ng b?ng cách s? d?ng các thùng ch?a OLE ki?m soát. Thay vào đó, b?n mu?n liên k?t đ?n hi?n có m?t tài li?u và m? nó như là m?t đ?i tư?ng ActiveX tài li?u t?i ch?. May m?n thay, đi?u khi?n Microsoft WebBrowser cung c?p m?t gi?i pháp.

Đi?u này bài vi?t ch?ng t? làm th? nào đ? đi?u hư?ng đ?n m?t tài li?u văn ph?ng hi?n t?i và hi?n th? nó bên trong Visual Basic b?ng cách s? d?ng ki?m soát WebBrowser.

THÔNG TIN THÊM

Tài li?u ActiveX là các đ?i tư?ng nhúng OLE cư x? gi?ng như đi?u khi?n ActiveX hơn truy?n th?ng OLE đ?i tư?ng. Không gi?ng như b?nh thư?ng đ?i tư?ng đ? nhúng, m?t tài li?u ActiveX không đư?c thi?t k? đ? là m?t đ?i tư?ng ch?a trong m?t tài li?u l?n hơn. Thay vào đó, nó đư?c coi là m?t tài li?u đ?y đ? trong chính nó, đó ch? là đang đư?c xem b?i m?t ngư?i xem (ch?ng h?n như Internet Explorer) ho?c là đang đư?c thu th?p vào m?t ngu?n duy nh?t v?i các tài li?u khác (ch?ng h?n như ch?t k?t dính t?p tin).

Trong khi Microsoft Visual Basic hi?n không h? tr? lưu tr? tài li?u ActiveX tr?c ti?p, b?n có th? làm vi?c xung quanh gi?i h?n này b?i b?ng cách s? d?ng các kh? năng c?a Internet Explorer và ki?m soát WebBrowser c?a nó. Các WebBrowser ki?m soát (Shdocvw.dll) là m?t ph?n c?a Internet Explorer và ch? có th? đư?c s? d?ng trên h? th?ng đ? cài đ?t tr?nh duy?t Internet Explorer.

T?o m?t ?ng d?ng Visual Basic đó m? tài li?u văn ph?ng

S? d?ng các bư?c sau đ? t?o ra m?t ?ng d?ng Visual Basic m? tài li?u văn ph?ng:
  1. B?t đ?u Visual Basic và t?o ra m?t d? án tiêu chu?n m?i. Form1 đư?c t?o ra theo m?c đ?nh.
  2. T? các Dự án tr?nh đơn, ch?n Thành phần đ? m? các Thành phần h?p tho?i. Trong h?p tho?i các thành ph?n, thêm tài li?u tham kh?o cho các Microsoft H?p tho?i đi?u khi?n chung và Microsoft Đi?u khi?n Internet. Nh?p vào OK đ? thêm các kho?n m?c vào h?p công c?.
  3. Thêm m?t th? hi?n c?a ki?m soát WebBrowser, CommonDialog ki?m soát, và m?t CommandButton đ? Form1.
  4. Sau đó, thêm m? sau vào c?a s? m? cho Form1:
    Option Explicit
    
    Dim oDocument As Object
    
    Private Sub Command1_Click()
       Dim sFileName As String
       
     ' Find an Office file...
       With CommonDialog1
          .FileName = ""
          .ShowOpen
          sFileName = .FileName
       End With
       
     ' If the user didn't cancel, open the file...
       If Len(sFileName) Then
          Set oDocument = Nothing
          WebBrowser1.Navigate sFileName
       End If
    End Sub
    
    Private Sub Form_Load()
       Command1.Caption = "Browse"
       ' For the 2007 Microsoft Office documents, change the .Filter parameter of the 
       ' With CommonDialog1 statement to:
       ' .Filter = "Office Documents " & _
       '      "(*.docx, *.xlsx, *.pptx)|*.docx;*.xlsx;*.pptx"
       With CommonDialog1
          .Filter = "Office Documents " & _
          "(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt"
          .FilterIndex = 1
          .Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
       End With
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
       Set oDocument = Nothing
    End Sub
    
    Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, _
    URL As Variant)
       On Error Resume Next
       Set oDocument = pDisp.Document
    
       MsgBox "File opened by: " & oDocument.Application.Name
    End Sub
    					
  5. Báo chí F5 đ? ch?y các d? án. Khi b?n ch?n các Tr?nh duy?t nút, các M? h?p tho?i s? xu?t hi?n cho phép b?n đ? di chuy?n đ?n m?t t?, Excel ho?c T?p tin PowerPoint. Ch?n M? và các tài li?u nên m? bên trong ki?m soát WebBrowser. Một thư h?p sau đó s? xu?t hi?n mà hi?n th? tên c?a ?ng d?ng văn ph?ng mà m? t?p tin.

Nh?ng g? đ? xem xét khi b?n s? d?ng đi?u khi?n WebBrowser trong chương tr?nh Microsoft Office 2007

Sau đây c?n đư?c xem xét khi b?n s? d?ng WebBrowser đi?u khi?n:
  • Ki?m soát WebBrowser không đ?ng b? đi?u hư?ng đ?n các tài li?u. Đi?u này có ngh?a là các cu?c g?i tr? v? s? ki?m soát đ? ?ng d?ng Visual Basic c?a b?n trư?c khi các tài li?u đ? đư?c n?p hoàn toàn. Đi?u này x?y ra khi b?n g?i WebBrowser1.Navigate. N?u b?n có k? ho?ch đ? t? đ?ng hoá các tài li?u ch?a, s? d?ng các NavigateComplete2 s? ki?n do đó b?n s? bi?t khi tài li?u đ? hoàn t?t t?i. S? d?ng các Tài li?u b?t đ?ng s?n c?a các WebBrowser đ?i tư?ng đ? có đư?c tham chi?u đ?n đ?i tư?ng tài li?u văn ph?ng. Trong m? trư?c đó, tài li?u tham kh?o đư?c thi?t l?p đ? oDocument.
  • M?t s? đư?c bi?t đ?n các v?n đ? x?y ra khi b?n có nhi?u hơn m?t WebBrowser ki?m soát trong m?t d? án và m?i đi?u khi?n đư?c n?p v?i cùng lo?i c?a các tài li?u văn ph?ng. Có ngh?a là, ki?m soát m?i ch?a t?t c? các tài li?u Word ho?c t?t c? các b?ng tính Excel. Chúng tôi đ? ngh? b?n s? d?ng đi?u khi?n duy nh?t cho m?i d? án và r?ng b?n di chuy?n đ?n m?t trong nh?ng tài li?u t?i m?t th?i đi?m.
  • Đ? xóa n?i dung hi?n t?i t? WebBrowser, s? d?ng đo?n m? sau đ? đi?u hư?ng đ?n trang tr?ng m?c đ?nh trong các s? ki?n nh?p chu?t c?a m?t nút l?nh. Ho?c, làm đi?u này ? m?t s? nơi khác thích h?p trong m? c?a b?n.
       WebBrowser1.Navigate "about:blank"
    					

Nh?ng g? đ? xem xét khi b?n s? d?ng đi?u khi?n WebBrowser trong các chương tr?nh Microsoft Office 2003 và trong phiên b?n trư?c c?a văn ph?ng

Sau đây c?n đư?c xem xét khi b?n s? d?ng WebBrowser đi?u khi?n:
  • Ki?m soát WebBrowser đi?u hư?ng đ?n các tài li?u không đ?ng b?. Đi?u này có ngh?a là khi b?n g?i WebBrowser1.Navigate, các cu?c g?i tr? v? đi?u khi?n c?a b?n ?ng d?ng Visual Basic trư?c khi tài li?u đ? đư?c n?p hoàn toàn. N?u b?n có k? ho?ch T? đ?ng hoá các tài li?u ch?a, b?n c?n ph?i s? d?ng các NavigateComplete2 s? ki?n đ? bi?t khi tài li?u đ? hoàn t?t t?i. S? d?ng các Tài li?u tài s?n c?a đ?i tư?ng WebBrowser thông qua t?i đ? có đư?c m?t tài li?u tham kh?o đ? đ?i tư?ng tài li?u văn ph?ng, trong đó, trong m? trư?c, đư?c thi?t l?p đ? oDocument.
  • Ki?m soát WebBrowser không h? tr? tr?nh đơn h?p nh?t. N?u b?n c?n tài li?u c?a m?c tr?nh đơn xu?t hi?n v?i menu Visual Basic c?a b?n, b?n ph?i s? d?ng đi?u khi?n OLE thùng ch?a thay th?.
  • Ki?m soát WebBrowser thư?ng ?n b?t k? thanh công c? docked trư?c khi hi?n th? m?t tài li?u văn ph?ng. B?n có th? s? d?ng t? đ?ng hóa đ? hi?n th? m?t n?i thanh công c? s? d?ng m? như này:
       With oDocument.Application.CommandBars("Standard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    Phiên b?n m?i hơn c?a Internet Explorer (5,0 và l?n hơn) c?ng cho phép b?n đ? hi?n th? thanh công c? docked b?ng cách s? d?ng đo?n m? sau:
     ' This is a toggle option, so call it once to show the 
     ' toolbars and once to hide them. This works with Internet Explorer 5
     ' but often fails to work properly with earlier versions...
       WebBrowser1.ExecWB OLECMDID_HIDETOOLBARS, OLECMDEXECOPT_DONTPROMPTUSER
    					
  • Có m?t s? v?n đ? đư?c bi?t đ?n v?i vi?c có nhi?u hơn m?t WebBrowser ki?m soát trong m?t d? án, và có m?i đi?u khi?n n?p v?i cùng m?t lo?i tài li?u văn ph?ng (có ngh?a là, t?t c? các tài li?u Word ho?c Excel t?t c? b?ng tính). Đó khuy?n cáo r?ng b?n ch? s? d?ng m?t đi?u khi?n cho m?i d? án, và đi?u hư?ng đ?n m?t tài li?u t?i m?t th?i đi?m.

    V?n đ? ph? bi?n nh?t là v?i Văn ph?ng Command quán bar, mà xu?t hi?n b? vô hi?u hoá. N?u b?n có hai WebBrowser đi?u khi?n v? h?nh th?c tương t?, c? hai n?p v?i các tài li?u Word, và b?n có hi?n th? thanh công c? b?ng cách s? d?ng m?t trong các k? thu?t trư?c, ch? có m?t t?p h?p các thanh công c? s? đư?c ho?t đ?ng và làm vi?c m?t cách chính xác. Khác s? b? vô hi?u và không th? đư?c s? d?ng.
  • Ñeå xoùa WebBrowser n?i dung hi?n t?i c?a nó, trong các Nh?p vào s? ki?n c?a m?t nút l?nh (ho?c trong m?t s? thích h?p khác đ?t trong m? c?a b?n), đi?u hư?ng đ?n trang tr?ng m?c đ?nh b?ng cách s? d?ng m? này:
       WebBrowser1.Navigate "about:blank"
    					

THAM KH?O

Đ? bi?t thêm chi ti?t v? ki?m soát WebBrowser trong Visual Basic, nh?p vào s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
162719Làm th? nào đ? s? d?ng đi?u khi?n WebBrowser t? Visual Basic 5,0
188271 Làm th? nào đ? in n?i dung c?a đi?u khi?n tr?nh duy?t Web t? BB
191692 ShDocVw.dll không đư?c bao g?m trong gói ph?n m?m cài đ?t PDW
238313 Truy c?p vào Internet Explorer Document Object Model t? Visual Basic
927009 Một cửa sổ mới mở ra khi bạn cố gắng xem tài liệu về chương trình Microsoft Office 2007 trong Internet Explorer 7 của Windows

Thu?c tính

ID c?a bài: 243058 - L?n xem xét sau cùng: 01 Tháng Chín 2011 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Office Word 2007
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
T? khóa: 
kbexpertiseinter kbhowto kbmt KB243058 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:243058

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com