Jak použít ovládací prvek WebBrowser k otevření dokumentu Office

Překlady článku Překlady článku
ID článku: 243058 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Při práci s dokumenty Office může chcete zobrazit tyto dokumenty v jazyka ale nechcete vytvořit vložený objekt OLE pomocí ovládací prvek kontejner OLE. Namísto toho chcete propojit existující dokument a otevřete jako dokumentu ActiveX objekt v místě. Naštěstí ovládací prvek Microsoft WebBrowser nabízí řešení.

Tento článek demonstruje přejděte do existujícího dokumentu Office a zobrazit uvnitř jazyka pomocí ovládacího prvku WebBrowser.

Další informace

Dokumenty ActiveX jsou embeddable objekty OLE více chovají jako ovládací prvky ActiveX než tradiční objekty OLE. Na rozdíl od normální vložený objekt není navržena dokumentů ActiveX být objekt obsažených ve větší dokumentu. Místo toho je považován za úplný dokument v samotném, které je pouze prohlížející prohlížeč (například Internet Explorer) nebo nejsou shromažďovány do prostředek s jinými dokumenty (například pořadače souborů).

Zatímco Microsoft Visual Basic nepodporuje aktuálně hostitelem ActiveX dokumenty přímo, můžete pomocí funkcí aplikace Internet Explorer a jeho ovládací prvek WebBrowser pracovat obejít toto omezení. Ovládací prvek WebBrowser (Shdocvw.dll) je součástí aplikace Internet Explorer a lze použít pouze v systémech, které máte nainstalován Internet Explorer.

Vytvoření aplikace jazyka otevře dokumenty Office

Vytvoření aplikace jazyka, který otevře dokumenty Office použijte následující kroky:
  1. Spusťte jazyka a vytvoření nového projektu standardní. Jako výchozí je vytvořen formulář Form1.
  2. Z nabídce projekt vyberte součásti otevřete dialogové okno součásti. V dialogovém okně součásti přidat odkazy na Běžné ovládací Dialog Microsoft a Microsoft Internet Controls. Chcete-li přidat položky na panelu nástrojů klepněte na tlačítko OK.
  3. Přidání instance ovládacího prvku WebBrowser CommonDialog ovládací prvek a CommandButton k Form1.
  4. Dále přidejte následující kód do okna kód pro 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. Stisknutím klávesy F5 spustit projektu. Když vyberete tlačítko Procházet, zobrazí se dialogové okno Otevřít umožňuje přejděte k souboru aplikace Word, Excel nebo PowerPoint. Zvolte Otevřít a v dokumentu by otevřít uvnitř prvku WebBrowser. Okno zprávy potom zobrazí se název aplikace Office otevřít soubor.

Co zvažte použít ovládací prvek WebBrowser v aplikacích sady Microsoft Office 2007

Následující by měly být považovány za při použití WebBrowser ovládací prvek:
  • Ovládací prvek WebBrowser přejde asynchronně dokumenty. To znamená, že volání vrátí ovládací prvek jazyka aplikace dříve, než byla zcela načten dokumentu. K tomu dochází při volání WebBrowser1.navigate. Pokud plánujete automatizovat obsažené dokumentu, použijte událost NavigateComplete2, takže budete vědět, kdy dokončení načítání dokumentu. Chcete-li získat odkaz na objekt dokumentu Office pomocí vlastnosti dokumentu objektu WebBrowser. V kódu předchozí odkaz nastavena oDocument.
  • Několik známé problémy dojít, pokud máte více než jeden ovládací prvek WebBrowser v projektu a každý ovládací prvek načten s stejný typ dokumentu Office. Každý ovládací prvek, tedy obsahuje všechny dokumenty aplikace Word nebo všech tabulek aplikace Excel. Doporučujeme použít pouze jeden ovládací prvek za projekt a že přesunete do jednoho dokumentu najednou.
  • Zrušte aktuální obsah z WebBrowser použijte následující kód přejít na výchozí prázdné stránky v události Click příkazového tlačítka. Nebo v některé jiné příslušné místo v kódu.
       WebBrowser1.Navigate "about:blank"
    					

Co zvažte při použití prvku WebBrowser v aplikacích Microsoft Office 2003 a starších verzích sady Office

Následující by měly být považovány za při použití WebBrowser ovládací prvek:
  • Ovládací prvek WebBrowser přejde asynchronně dokumenty. To znamená, že při volání WebBrowser1.navigate volání vrátí řízení do vašeho jazyka aplikace před zcela načten dokumentu. Pokud plánujete automatizace obsažené dokumentu, musíte použít událost NavigateComplete2 znát při dokončení načítání dokumentu. Vlastnost Document předaný Chcete-li získat odkaz na objekt dokumentu Office, který v předcházejícím kódu je nastaven na oDocument WebBrowser objekt použít.
  • Ovládací prvek WebBrowser nepodporuje slučování nabídce. Pokud potřebujete v dokumentu položky nabídky se zobrazí nabídka jazyka, musíte použít ovládací prvek kontejner OLE.
  • Všechny panely nástrojů ukotvený ovládací prvek WebBrowser obecně skryje před zobrazením dokumentu Office. Použít automatizaci plovoucí panel nástrojů pomocí kódu například tento:
       With oDocument.Application.CommandBars("Standard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    novější verze aplikace Internet Explorer (5.0 a vyšší) také umožňují zobrazit ukotvených panelů nástrojů, pomocí následující kód:
     ' 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
    					
  • Existuje několik známé problémy s více než jeden ovládací prvek WebBrowser nutnosti v projektu a nutnosti každý ovládací prvek načten stejný typ dokumentu Office (to znamená všechny dokumenty aplikace Word, nebo všechny tabulky Excel). Je doporučeno, pouze pomocí jednoho ovládacího prvku za projekt a přejděte do jednoho dokumentu najednou.

    Nejběžnější problém je s Office příkaz panely zobrazených zakázáno. Pokud máte dva ovládací prvky WebBrowser ve stejném formuláři obě načten s dokumenty Word a zobrazeny panely nástrojů pomocí jedné z předchozích postupů, bude pouze jednu sadu panelů nástrojů aktivní a pracovat správně. Druhý bude zakázán a nelze použít.
  • Zrušte WebBrowser její aktuální obsah v události Click příkazového tlačítka (nebo některé jiné příslušné místo v kódu) přejděte na výchozí prázdnou stránku pomocí tohoto kódu:
       WebBrowser1.Navigate "about:blank"
    					

Odkazy

Další informace o ovládacím prvku WebBrowser v aplikaci Visual Basic klepněte na následující čísla následujících článcích databáze Microsoft Knowledge Base:
162719Jak použít ovládací prvek WebBrowser z Visual Basic 5.0
188271Jak vytisknout obsah ovládacího prvku webového prohlížeče z VB
191692Shdocvw.dll není součástí instalačního balíčku PDW
238313Internet Explorer Document Object Model přístup z jazyka
927009Otevře nové okno při pokusu o zobrazení dokumentu programu Microsoft Office 2007 v aplikaci Internet Explorer 7

Vlastnosti

ID článku: 243058 - Poslední aktualizace: 21. srpna 2007 - Revize: 6.2
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbexpertiseinter kbhowto KB243058 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:243058

Dejte nám zpětnou vazbu

 

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