Cara menggunakan kontrol browser web untuk membuka dokumen Office

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 243058 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Ketika bekerja dengan dokumen Office Anda mungkin ingin menampilkan dokumen-dokumen ini secara langsung dalam Visual Basic, tetapi tidak ingin membuat tertanam OLE objek menggunakan wadah OLE kontrol. Sebaliknya, Anda ingin link ke ada dokumen dan membukanya sebagai objek ActiveX dokumen di tempat. Untungnya, kontrol browser Web Microsoft menawarkan solusi.

Ini Artikel menunjukkan bagaimana untuk menavigasi dokumen kantor yang ada dan menampilkan itu di dalam Visual Basic yang menggunakan kontrol browser web.

INFORMASI LEBIH LANJUT

ActiveX dokumen yang embeddable OLE objek yang berperilaku lebih seperti kontrol ActiveX daripada tradisional OLE objek. Tidak seperti normal tertanam objek, dokumen ActiveX yang tidak dirancang untuk menjadi objek berisi dalam sebuah dokumen yang lebih besar. Sebaliknya, itu dianggap sebagai dokumen lengkap dalam dirinya sendiri, yang hanya dilihat oleh pengunjung (seperti Internet Explorer) atau adalah sedang dikumpulkan ke sumber tunggal dengan dokumen-dokumen lainnya (seperti map file).

Sementara Microsoft Visual Basic tidak saat ini mendukung Hosting ActiveX dokumen secara langsung, Anda dapat mengatasi keterbatasan ini oleh menggunakan kemampuan Internet Explorer dan kontrol browser web. The Browser web kontrol (Shdocvw.dll) adalah bagian dari Internet Explorer dan hanya dapat digunakan pada sistem yang memiliki terinstal Internet Explorer.

Membuat aplikasi Visual Basic yang membuka dokumen Office

Gunakan langkah-langkah berikut untuk membuat aplikasi Visual Basic yang membuka dokumen Office:
  1. Mulai Visual Basic dan membuat sebuah proyek standar yang baru. Form1 dibuat oleh default.
  2. Dari Project menu, pilih Komponen untuk membuka Komponen kotak dialog. Di kotak dialog komponen, menambahkan referensi ke Microsoft Common Dialog kontrol dan Microsoft Internet kontrol. Klik OK untuk menambahkan item ke toolbox.
  3. Menambahkan contoh kontrol browser web, CommonDialog kontrol, dan CommandButton Form1.
  4. Selanjutnya, tambahkan kode berikut ke dalam jendela kode untuk 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. Tekan F5 untuk menjalankan proyek. Apabila Anda People tombol, Terbuka kotak dialog muncul membolehkan Anda untuk menavigasi ke Word, Excel atau PowerPoint file. Memilih Terbuka dan dokumen harus membuka dalam kontrol browser web. A pesan kotak kemudian muncul yang menampilkan nama aplikasi Office yang membuka file.

Apa yang harus dipertimbangkan ketika Anda menggunakan kontrol browser web di program Microsoft Office 2007

Berikut harus dipertimbangkan ketika Anda menggunakan browser web kontrol:
  • Kontrol browser web asynchronously menavigasi ke dokumen. Ini berarti bahwa panggilan kembali kontrol Visual Basic aplikasi Anda sebelum dokumen telah benar-benar diambil. Hal ini terjadi ketika Anda menelepon WebBrowser1.Navigate. Jika Anda berencana untuk mengotomatisasi dokumen berisi, menggunakan NavigateComplete2 acara sehingga Anda akan tahu ketika dokumen selesai loading. Penggunaan Dokumen properti Browser web objek untuk mendapatkan referensi ke objek dokumen Office. Dalam kode sebelumnya, referensi diatur ke oDocument.
  • Beberapa dikenal masalah terjadi ketika Anda memiliki lebih dari satu browser web kontrol dalam proyek dan setiap kontrol penuh dengan jenis yang sama dokumen Office. Yaitu setiap kontrol berisi semua dokumen Word atau semua Excel spreadsheet. Kami merekomendasikan bahwa Anda menggunakan hanya satu control setiap proyek dan bahwa Anda pindah ke dokumen satu pada satu waktu.
  • Untuk menghapus konten saat ini dari browser web, gunakan kode berikut untuk menavigasi ke halaman kosong default dalam acara klik tombol perintah yang lain. Atau, melakukan ini di beberapa tempat lain sesuai kode Anda.
       WebBrowser1.Navigate "about:blank"
    					

Apa yang harus dipertimbangkan ketika Anda menggunakan kontrol browser web di program Microsoft Office 2003 dan versi sebelumnya dari kantor

Berikut harus dipertimbangkan ketika Anda menggunakan browser web kontrol:
  • Kontrol browser web menavigasi dokumen asynchronously. Ini berarti bahwa ketika Anda menelepon WebBrowser1.Navigate, panggilan kembali kontrol untuk aplikasi Visual Basic sebelum dokumen telah benar-benar diambil. Jika Anda berencana Mengotomatisasi dokumen berisi, Anda perlu menggunakan NavigateComplete2 acara untuk tahu ketika dokumen selesai loading. Penggunaan Dokumen properti objek WebBrowser berlalu dalam untuk mendapatkan referensi untuk objek dokumen kantor, yang, dalam kode sebelumnya, diatur ke oDocument.
  • Kontrol browser web tidak mendukung menu penggabungan. Jika Anda membutuhkan dokumen item menu muncul dengan menu Visual Basic, Anda harus menggunakan kontrol wadah OLE sebaliknya.
  • Kontrol browser web umumnya menyembunyikan setiap berlabuh toolbar sebelum menampilkan dokumen Office. Anda dapat menggunakan otomatisasi untuk menunjukkan mengambang Toolbar menggunakan kode seperti ini:
       With oDocument.Application.CommandBars("Standard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    Versi Internet Explorer (5.0 dan yang lebih besar) juga memungkinkan Anda untuk menampilkan toolbar berlabuh yang menggunakan kode berikut:
     ' 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
    					
  • Ada beberapa masalah yang diketahui dengan memiliki lebih dari satu Kontrol browser web di sebuah proyek, dan memiliki setiap kontrol dimuat dengan sama tipe dokumen Office (itu adalah, semua dokumen Word atau Excel semua spreadsheet). Dianjurkan bahwa Anda hanya menggunakan satu control setiap proyek, dan menavigasi ke dokumen satu pada satu waktu.

    Masalah yang paling umum dengan Kantor Komando bar, yang muncul penyandang cacat. Jika Anda memiliki dua kontrol browser web bentuk yang sama, baik dimuat dengan dokumen Word, dan Anda telah ditampilkan Toolbar menggunakan salah satu teknik sebelumnya, hanya satu set toolbar akan menjadi aktif dan bekerja dengan benar. Yang lain akan dinonaktifkan dan tidak dapat digunakan.
  • Jelas WebBrowser isinya saat ini, dalam Klik acara tombol perintah lain (atau beberapa lainnya sesuai tempat di kode), menavigasi ke halaman kosong default menggunakan kode ini:
       WebBrowser1.Navigate "about:blank"
    					

REFERENSI

Untuk informasi lebih lanjut tentang kontrol browser web dalam Visual Basic, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
162719Cara menggunakan kontrol browser web dari Visual Basic 5.0
188271 Cara mencetak isi dari Web Browser kontrol dari BB
191692 Shdocvw.dll tidak termasuk dalam paket setup PDW
238313 Mengakses Internet Explorer Document Object Model dari Visual Basic
927009 Jendela baru akan terbuka bila Anda mencoba melihat dokumen program Microsoft Office 2007 di Windows Internet Explorer 7

Properti

ID Artikel: 243058 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
  • Microsoft Word 2000
  • 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
Kata kunci: 
kbexpertiseinter kbhowto kbmt KB243058 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:243058

Berikan Masukan

 

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