Bir Office belgesini açmaya WebBrowser denetiminin nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 243058 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Office belgeleriyle çalışırken, bu belgeleri Visual Basic'te doğrudan görüntülemek isteyebilirsiniz, ancak OLE kapsayıcısı denetimi kullanarak katıştırılmış OLE nesnesi oluşturmak istemiyorsanız. Bunun yerine, varolan bir belgeye bağlamak ve nesne yerinde ActiveX belge olarak açmak istiyor. Neyse ki Microsoft WebBrowser denetimi, bir çözüm sunar.

Bu makalede, varolan bir Office belgesine ulaşmak ve arabirimin WebBrowser denetimi kullanarak, Visual Basic içinde görüntülemek gösterilmiştir.

Daha fazla bilgi

ActiveX belgeleri, daha geleneksel bir OLE nesneleri daha ActiveX denetimleri gibi davranmasına embeddable OLE nesneleri adı verilir. Normal bir katıştırılmış nesne farklı olarak, bir ActiveX belge daha büyük bir belgenin içindeki bir nesne için tasarlanmamıştır. Bunun yerine, yalnızca bir Görüntüleyici (ınternet Explorer gibi) tarafından görüntülenen veya diğer belgeleri içeren tek bir kaynak olarak toplanan belgenin tamamını, kendi içinde değerlendirilir (örneğin, bir Ciltçi dosyası).

ActiveX belgeleri doğrudan barındırma Microsoft Visual Basic şu anda desteklemez, ancak bu kısıtlamaya bir ınternet Explorer WebBrowser denetimi ve özelliklerini kullanarak çalışabilirsiniz. WebBrowser denetimini (Shdocvw.dll), ınternet Explorer'ın bir parçasıdır ve yalnızca ınternet Explorer yüklü olan sistemlerde kullanılabilir.

Bir Visual Basic uygulaması oluşturma Office belgeleri açar.

Office belgeleri açan bir Visual Basic uygulaması oluşturmak için aşağıdaki adımları kullanın:
  1. Visual Basic'ı başlatın ve yeni bir standart projesi oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Proje menüsünden <a0>Bileşenler</a0> iletişim kutusunu açmak için Bileşenler ' i seçin. Bileşenleri iletişim kutusunda, Ortak iletişim denetim Microsoft ve Microsoft Internet denetimleri ekleyin. Araç kutusuna öğeleri eklemek için Tamam'ı tıklatın.
  3. WebBrowser denetiminin CommonDialog ekleyin denetimi ve Form1 için'bir KomutDüğmesi.
  4. Ardından, kod penceresine Form1 için aşağıdaki kodu ekleyin:
    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. Proje çalıştırmak için F5 tuşuna basın. Gözat düğmesini seçtiğinizde, Word, Excel veya dosyaya ula?mak için iletişim kutusu görüntülenir. WebBrowser denetimi içinde açın ve belgeyi açması gerektiğini seçin. Bir ileti kutusu dosyası Office uygulamasının adını görüntüler, sonra görünür.

2007 Microsoft Office programlarında WebBrowser denetimi kullanırken göz önüne alınması gerekenler

WebBrowser kullandığınızda aşağıdaki düşünülmesi gereken denetimi:
  • WebBrowser denetimi, zaman uyumsuz olarak belgeleri için gider. Bu belge, tümüyle yüklü yapıldı önce çağrı denetimi için Visual Basic uygulamanız döndürmesidir anlamına gelir. Bu durum WebBrowser1.Navigate call oluşur. Içerdiği belge otomatikleştirmek istiyorsanız, NavigateComplete2 olay kullanabilir, böylece belge yükleme zaman tamamladı bilirsiniz. Office belge nesnesine yapılan başvuru almak için <a0>WebBrowser</a0> nesnesinin belge özelliğinin kullanın. Önceki kodda başvuru oDocument için ayarlanır.
  • Birden fazla projede birden fazla WebBrowser denetimi varsa ve her denetimi ile aynı tür Office belgesini yüklenen sorunları ortaya bilinen. Diğer bir deyişle, her denetim, tüm Word belgeleri veya tüm Excel elektronik tablolarını da içerir. Proje başına yalnızca bir denetimi kullanın ve bir defada bir belgeye taşıma öneririz.
  • WebBrowser geçerli içeriğini temizlemek için <a0></a0>, başka bir komut düğmesinin Tıklat olay varsayılan boş sayfaya gitmek için şu kodu kullanın. Veya bazı diğer uygun yere kodunuzu bunu.
       WebBrowser1.Navigate "about:blank"
    					

WebBrowser denetimi Office'in önceki sürümlerinde ve Microsoft Office 2003 programları kullandığınızda göz önüne alınması gerekenler

WebBrowser kullandığınızda aşağıdaki düşünülmesi gereken denetimi:
  • WebBrowser denetimi, zaman uyumsuz olarak belgeleri için gider. Bu, WebBrowser1.Navigate ça??rd???n?zda, çağrı denetimi belgenin tamamen yüklendiğinden, Visual Basic uygulaması önce için döndürmesidir anlamına gelir. Içerdiği belge otomatikleştirme hakkında düşünüyorsanız, NavigateComplete2 olay belge yükleme zaman tamamladı bilmek kullanmanız gerekebilir. Belge özelliğinin olan, önceki kod oDocument için Office belgesi nesnesine bir başvuru almak için geçilen <a1>WebBrowser</a1> nesnesinin kullanın.
  • WebBrowser denetimi menü birleştirme desteklemiyor. Visual Basic menünüzdeki görünmesini belgenin menü öğeleri gerekiyorsa, bunun yerine OLE kapsayıcısı denetimi kullanmalısınız.
  • WebBrowser denetimi genellikle bir Office belgesini görüntülemeden önce herhangi bir yerleşik araç çubuklarını gizler. Bu gibi kodu kullanarak bir kayan araç çubuğunu göstermek için Otomasyonu'nu kullanabilir:
       With oDocument.Application.CommandBars("Standard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    ınternet Explorer (5.0 veya daha büyük) daha yeni sürümlerini de aşağıdaki kodu kullanarak yerleşik araç çubuklarını görüntülemek izin:
     ' 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
    					
  • Birden fazla WebBrowser denetimi bir projede olması ve her denetimi ile aynı tür Office belgesini (diğer bir deyişle, tüm Word belgeleri veya tüm elektronik Excel) yüklü olması, birkaç bilinen sorunlar vardır. Bu, yalnızca her proje için bir denetim kullanın ve bir defada bir belgeye gidin, önerilir.

    En yaygın sorun, devre dışı bırakılmış Office komut çubuklarını ile ilgilidir. Aynı form üzerindeki iki WebBrowser denetimi varsa, her ikisini de Word belgeleriyle yüklenen ve araç çubuklarını önceki tekniklerden birini kullanarak görüntülenmesini, etkin çalışma ve araç çubukları yalnızca bir alt kümesini olacaktır doğru. Diğer devre dışı bırakılır ve kullanılamaz.
  • WebBrowser geçerli içeriğini temizlemek için <a0></a0>, bu kodu kullanarak varsayılan boş sayfa için başka bir komut düğmesini tıklatarak olayının (veya bazı diğer uygun yere kodunuzu), gidin:
       WebBrowser1.Navigate "about:blank"
    					

Referanslar

Visual Basic'te WebBrowser denetimi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
162719Visual Basic 5.0 ile gelen WebBrowser denetiminin nasıl kullanılır?
188271Nasıl yapılır: VB Web tarayıcısı denetiminin içeriğini Yazdır
191692Shdocvw.dll PDW kurulum paketine dahil
238313ınternet Explorer belge nesne modeli Visual Basic'den erişme
927009Windows ınternet Explorer 7'de 2007 Microsoft Office programı belge görüntülemeye çalıştığınızda, yeni BIR pencere açar

Özellikler

Makale numarası: 243058 - Last Review: 21 Ağustos 2007 Salı - Gözden geçirme: 6.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • 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 Office Word 2003
  • 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 Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 5.0 Enterprise Edition
Anahtar Kelimeler: 
kbmt kbexpertiseinter kbhowto KB243058 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:243058

Geri Bildirim Ver

 

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