Wachtwoord vergeten?

Wachtwoord vergeten
Vul hier uw email adres in. U ontvangt dan een nieuw wachtwoord.

Het besturingselement WebBrowser gebruiken om een Office-document te openen

Gepost op 30-03-2006 - Microsoft Office - 0 reacties


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

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 IfEnd 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 WithEnd Sub
    Private Sub Form_Unload(Cancel As Integer) Set oDocument = NothingEnd 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.NameEnd 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


PrintPrint RSS reactiesRSS reacties BookmarkBookmark

Gekoppelde tags

ActiveX, Afdrukken, DLL, Excel, Excel 2000, Excel 2002, Excel 2003, Excel 97, Filter, Internet Explorer, Internet Explorer 5, Office, PowerPoint, PowerPoint 2000, PowerPoint 2002, PowerPoint 2003, PowerPoint 97, Project, Visual Basic, Word, Word 2000, Word 2002, Word 2003

Reacties
Nog geen reacties geplaatst.

Winkelmandje

Het winkelmandje is leeg

Inloggen
Als u hierboven op de knop 'bestellen' klikt krijgt u een overzicht van de door uw gewenste producten. Indien het overzicht compleet en correct is kunt via de wizard de verdere gegevens invullen en uw bestelling afronden. In het bestelproces kunt u altijd op 'vorige' drukken om terug te gaan in het proces. Bij Perrit staan vertrouwen, privacy en veiligheid op de eerste plaats, wij zullen uw gegevens dan ook met uiterste zorgvuldigheid behandelen en nooit doorgeven aan derden.

Perrit.nl Sherwood Rangers 29 Hengelo

Perrit.nl telefoon: +31 74 750 12 20

Kenniscentrum - Het besturingselement WebBrowser gebruiken om een Office-document te openen
Perrit Kenniscentrum - Het besturingselement WebBrowser gebruiken om een Office-document te openen