Het besturingselement WebBrowser gebruiken om een Office-document te openen

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 243058 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Als u werkt met Office-documenten, wilt u deze documenten mogelijk direct weergeven in Visual Basic, maar geen ingesloten OLE-object maken met het besturingselement voor OLE-containers. In plaats daarvan wilt u een koppeling maken met een bestaand document en dit document openen als een in-place ActiveX-documentobject. Het besturingselement Microsoft WebBrowser biedt hiervoor een oplossing.

In dit artikel wordt uitgelegd hoe u naar een bestaand Offfice-document bladert en het weergeeft in Visual Basic met het besturingselement WebBrowser.

Meer informatie

ActiveX-documenten zijn insluitbare OLE-objecten die zich meer als ActiveX-besturingselementen gedragen dan als traditionele OLE-objecten. In tegenstelling tot een normaal ingesloten object, is een ActiveX-document niet ontworpen om te worden opgenomen in een groter document. In plaats daarvan wordt het gezien als een zelfstandig document dat alleen wordt weergegeven in een viewer (zoals Internet Explorer) of dat in één bron wordt verzameld met andere documenten (zoals een Binder-bestand).

Microsoft Visual Basic biedt momenteel nog geen ondersteuning voor directe hosting van ActiveX-documenten. U kunt deze beperking omzeilen door de mogelijkheden van Internet Explorer en het bijbehorende besturingselement WebBrowser te benutten. Het besturingselement WebBrowser (Shdocvw.dll) maakt deel uit van Internet Explorer en kan alleen worden gebruikt op computers met Internet Explorer.

Een Visual Basic-toepassing maken waarmee Office-documenten worden geopend

Ga als volgt te werk om een Visual Basic-toepassing te maken waarmee u Office-documenten kunt openen:
  1. Start Visual Basic en maak een nieuw standaardproject. Form1 wordt standaard gemaakt.
  2. Selecteer in het menu Project de optie Onderdelen om het dialoogvenster Onderdelen te openen. Voeg in het dialoogvenster Onderdelen verwijzingen toe naar de Microsoft Common Dialog Control en de Microsoft Internet Controls. Klik op OK om de items toe te voegen aan de werkset.
  3. Voeg een exemplaar van de besturingselementen WebBrowser en CommonDialog en een CommandButton toe aan Form1.
  4. Voeg vervolgens de volgende code toe in het venster Programmacode van Form1:
    Option Explicit
    
    Dim oDocument As Object
    
    Private Sub Command1_Click()
       Dim sFileName As String
       
     ' Zoek een Office-bestand...
       With CommonDialog1
          .FileName = ""
          .ShowOpen
          sFileName = .FileName
       End With
       
     ' Als de gebruiker niet heeft geannuleerd, open dan het bestand...
       If Len(sFileName) Then
          Set oDocument = Nothing
          WebBrowser1.Navigate sFileName
       End If
    End Sub
    
    Private Sub Form_Load()
       Command1.Caption = "Browse"
       With CommonDialog1
          .Filter = "Office-documenten " & _
          "(*.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 "Bestand geopend door: " & oDocument.Application.Name
    End Sub
    					
  5. Druk op F5 om het project uit te voeren. Als u de knop Browse selecteert, wordt het dialoogvenster Open weergegeven. Hiermee kunt u bladeren naar een Word-, Excel- of PowerPoint-bestand. Kies Open en het document wordt geopend in het besturingselement WebBrowser. Er wordt een berichtvak weergegeven met daarin de naam van de Office-toepassing waarmee het bestand is geopend.

Overwegingen voor het gebruik van het besturingselement WebBrowser

Houd rekening met het volgende als u het besturingselement WebBrowser gebruikt:
  • Het besturingselement WebBrowser bladert asynchroon naar documenten. Dit houdt in dat als u WebBrowser1.Navigate aanroept, de Visual Basic-toepassing weer actief is voordat het document volledig is geladen. Als u het opgenomen object wilt automatiseren, moet u de gebeurtenis NavigateComplete2 gebruiken om er zeker van te zijn dat het document volledig is geladen. Gebruik de eigenschap Document van het doorgegeven WebBrowser-object om een verwijzing naar het Office-documentobject te krijgen. Dit documentobject is in de voorgaande code ingesteld op oDocument.
  • Het besturingselement WebBrowser biedt geen ondersteuning voor menusamenvoeging. Als de menu-items van het document moeten worden weergegeven in het Visual Basic-menu, moet u het besturingselement voor OLE-containers gebruiken.
  • Normaal gesproken worden in het besturingselement WebBrowser gedokte werkbalken verborgen voordat het Office-document wordt weergegeven. U kunt automatisering gebruiken om een zwevende werkbalk weer te geven. Gebruik hiervoor een code zoals de volgende:
       With oDocument.Application.CommandBars("Standaard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    In nieuwere versies van Internet Explorer (5.0 en later) kunt u gedokte werkbalken ook weergeven met de volgende code:
     ' Dit is een toggle-optie. Roep deze eenmaal aan om de werkbalken
     ' weer te geven en eenmaal om ze weer te verbergen. Dit werkt met Internet Explorer 5
     ' maar mislukt in veel gevallen bij oudere versies...
       WebBrowser1.ExecWB OLECMDID_HIDETOOLBARS, OLECMDEXECOPT_DONTPROMPTUSER
    					
  • Er zijn een aantal bekende problemen met het gebruik van meerdere WebBrowser-besturingselementen. Daarnaast is het bekend dat er problemen kunnen ontstaan als in elk besturingselement hetzelfde type Office-document is geladen (bijvoorbeeld alleen maar Word-documenten of Excel-documenten). Wij raden u aan één besturingselement per project te gebruiken en niet naar meer dan één document tegelijk te bladeren.

    Het meestvoorkomende probleem is dat Office-opdrachtbalken uitgeschakeld worden weergegeven. Als er zich twee WebBrowser-besturingselementen op hetzelfde formulier bevinden, beide besturingselementen zijn geladen met Word-documenten en u een van de voorgaande technieken hebt gebruikt om de werkbalken weer te geven, is slechts een van de werkbalken geactiveerd en functioneel. De andere werkbalk wordt uitgeschakeld en kan niet worden gebruikt.
  • Als u de huidige inhoud van de WebBrowser wilt wissen, gaat u in de gebeurtenis Click van een andere opdrachtknop (of een andere geschikte plek in de code) naar de standaard lege pagina met de volgende code:
       WebBrowser1.Navigate "about:blank"
    					

Referenties

Klik voor meer informatie over het besturingselement WebBrowser in Visual Basic op de volgende artikelnummers in de Microsoft Knowledge Base:
162719 Het besturingselement WebBrowser gebruiken vanuit Visual Basic 5.0
188271 Inhoud uit het besturingselement WebBrowser afdrukken vanuit Visual Basic
191692 PRB: Bestand Shdocvw.dll ontbreekt in Setup-pakket van PDW
238313 PRB: Toegang krijgen tot het Internet Explorer-DOM (Document Object Model) vanuit Visual Basic

Eigenschappen

Artikel ID: 243058 - Laatste beoordeling: donderdag 30 maart 2006 - Wijziging: 4.2
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
Trefwoorden: 
kbhowto KB243058

Geef ons feedback

 

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