Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Trình duyệt của bạn không được hỗ trợ

Bạn cần cập nhật trình duyệt của mình để sử dụng trang web.

Cập nhật lên Internet Explorer phiên bản mới nhất.

Làm thế nào để sử dụng điều khiển WebBrowser để mở một tài liệu văn phòng

Hỗ trợ dành cho Office 2003 đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Office 2003 vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và các tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

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
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 ExplicitDim oDocument As ObjectPrivate 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 IfEnd SubPrivate 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 WithEnd SubPrivate Sub Form_Unload(Cancel As Integer)   Set oDocument = NothingEnd SubPrivate Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, _URL As Variant)   On Error Resume Next   Set oDocument = pDisp.Document   MsgBox "File opened by: " & oDocument.Application.NameEnd 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
web trình duyệt kbActiveDocs kbExcel kbVBp500 kbVBp600 kbactivexscript kbPowerPt kbWord WD2007 XL2007

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 243058 - Xem lại Lần cuối: 09/01/2011 11:22:00 - Bản sửa đổi: 3.0

  • 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
  • kbexpertiseinter kbhowto kbmt KB243058 KbMtvi
Phản hồi