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.
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:
Mulai Visual Basic dan membuat sebuah proyek standar yang baru. Form1
dibuat oleh default.
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.
Menambahkan contoh kontrol browser web, CommonDialog
kontrol, dan CommandButton Form1.
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
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:
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:
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
Terima kasih! Masukan Anda akan digunakan untuk membantu kami meningkatkan konten dukungan. Untuk opsi bantuan lainnya, kunjungi Halaman Beranda Bantuan dan Dukungan.