Τρόπος χρήσης του στοιχείου ελέγχου WebBrowser για να ανοίξετε ένα έγγραφο του Office

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 243058 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Όταν εργάζεστε με έγγραφα του Office που μπορεί να θέλετε να εμφανίσετε αυτά τα έγγραφα απευθείας στη Visual Basic, αλλά δεν θέλετε να δημιουργήσετε ένα ενσωματωμένο αντικείμενο OLE, χρησιμοποιώντας το στοιχείο ελέγχου κοντέινερ OLE. Αντίθετα, θα θέλατε να συνδεθείτε σε ένα υπάρχον έγγραφο και να το ανοίξετε ως ένα αντικείμενο ActiveX Document επί τόπου. Ευτυχώς, το στοιχείο ελέγχου Microsoft WebBrowser παρέχει μια λύση.

Αυτό το άρθρο επιδεικνύει τον τρόπο για να περιηγηθείτε σε ένα υπάρχον έγγραφο του Office και εμφανίζεται στο εσωτερικό της Visual Basic, χρησιμοποιώντας το στοιχείο ελέγχου WebBrowser.

Περισσότερες πληροφορίες

Εγγράφων ActiveX είναι embeddable αντικείμενα OLE, τα οποία θα συμπεριφέρονται μάλλον σαν τα στοιχεία ελέγχου ActiveX από παραδοσιακούς αντικείμενα OLE. Σε αντίθεση με τις κανονικές ενσωματωμένο αντικείμενο, ένα έγγραφο ActiveX δεν έχει σχεδιαστεί να είναι ένα αντικείμενο που περιλαμβάνονται σε ένα μεγαλύτερο έγγραφο. Αντίθετα, θεωρείται ολοκληρωμένη εγγράφου στον εαυτό του, όπου προβάλλεται απλώς από ένα πρόγραμμα προβολής (όπως τον Internet Explorer) ή συλλέγονται σε έναν πόρο με άλλα έγγραφα (όπως ένα ντοσιέ του αρχείου).

Ενώ η Microsoft Visual Basic δεν υποστηρίζει αυτήν τη στιγμή φιλοξενίας εγγράφων ActiveX απευθείας, μπορείτε να αντιμετωπίσετε αυτόν τον περιορισμό, χρησιμοποιώντας τις δυνατότητες του Internet Explorer και το στοιχείο ελέγχου WebBrowser. Το στοιχείο ελέγχου WebBrowser (Shdocvw.dll) αποτελεί τμήμα του Internet Explorer και μπορεί να χρησιμοποιηθεί μόνο σε συστήματα που έχουν εγκατεστημένο τον Internet Explorer.

Δημιουργία μιας εφαρμογής της Visual Basic που ανοίγει έγγραφα του Office

Χρησιμοποιήστε τα ακόλουθα βήματα για να δημιουργήσετε μια εφαρμογή της Visual Basic που ανοίγει έγγραφα του Office:
  1. Εκκίνηση της Visual Basic και να δημιουργήσετε ένα νέο τυπικό έργο. Φόρμα1 δημιουργείται από προεπιλογή.
  2. Από τοΤο έργομενού επιλογήςτου ValuPackΓια να ανοίξετε τοτου ValuPackπαράθυρο διαλόγου. Στο παράθυρο διαλόγου στοιχεία, να προσθέσετε αναφορές προς τη MicrosoftΚοινό παράθυρο διαλόγου ελέγχουκαι η MicrosoftΤα στοιχεία ελέγχου του Internet. Κάντε κλικ στο κουμπί OK για να προσθέσετε τα στοιχεία στην εργαλειοθήκη.
  3. Προσθέστε μια παρουσία του στοιχείου ελέγχου WebBrowser, CommonDialog ελέγχου και ένα στοιχείο CommandButton να Φόρμα1.
  4. Στη συνέχεια, προσθέστε τον ακόλουθο κώδικα στο παράθυρο κώδικα για Φόρμα1:
    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. Πιέστε το πλήκτροF5Για να εκτελέσετε το έργο. Όταν επιλέγετε τοΑναζήτησητο κουμπί, τοOpenεμφανίζεται παράθυρο διαλόγου σας επιτρέπει να μεταβείτε σε ένα αρχείο του Word, Excel ή PowerPoint. ΕπιλέξτεOpenκαι το έγγραφο θα πρέπει να ανοίξει μέσα στο στοιχείο ελέγχου WebBrowser. Εμφανίζεται ένα πλαίσιο μηνύματος, στη συνέχεια, που εμφανίζει το όνομα της εφαρμογής του Office που ανοίγει το αρχείο.

Τι πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε το στοιχείο ελέγχου WebBrowser στα προγράμματα του Microsoft Office 2007

Τα ακόλουθα πρέπει να θεωρούνται όταν χρησιμοποιείτε το WebBrowser στοιχείου ελέγχου:
  • Το στοιχείο ελέγχου WebBrowser Ασύγχρονα μεταβαίνει σε έγγραφα. Αυτό σημαίνει ότι η κλήση επιστρέφει το στοιχείο ελέγχου στην εφαρμογή της Visual Basic, πριν το έγγραφο έχει φορτωθεί τελείως. Αυτό συμβαίνει όταν καλείτε WebBrowser1.Navigate. Εάν σκοπεύετε να αυτοματοποιήσετε το έγγραφο περιείχε, χρησιμοποιήστε τοNavigateComplete2συμβάν ώστε να γνωρίζετε πότε του εγγράφου έχει ολοκληρωθεί κατά τη φόρτωση. Χρήση τουΈγγραφοη ιδιότητα από τοWebBrowserτο αντικείμενο για να λάβετε την αναφορά στο αντικείμενο εγγράφου του Office. Στο προηγούμενο κώδικα, η αναφορά έχει οριστεί σεoDocument.
  • Διάφορα γνωστά ζητήματα που παρουσιάζονται όταν έχετε περισσότερα από ένα στοιχείο ελέγχου WebBrowser σε ένα έργο και κάθε στοιχείο ελέγχου έχει φορτωθεί με τον ίδιο τύπο εγγράφου του Office. Αυτό σημαίνει ότι κάθε στοιχείου ελέγχου περιέχει όλα τα έγγραφα του Word ή όλα τα υπολογιστικά φύλλα του Excel. Συνιστάται να χρησιμοποιείτε μόνο ένα στοιχείο ελέγχου ανά έργο και ότι η μετακίνηση ένα έγγραφο κάθε φορά.
  • Για να καταργήσετε το τρέχον περιεχόμενο από το WebBrowser, χρησιμοποιήστε τον ακόλουθο κώδικα για να περιηγηθείτε στην προεπιλεγμένη σελίδα κενή στο συμβάν Click κάποιο άλλο κουμπί εντολής. Εναλλακτικά, μπορείτε να κάνετε σε κάποια άλλη κατάλληλη θέση στον κώδικά σας.
       WebBrowser1.Navigate "about:blank"
    					

Τι πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε το στοιχείο ελέγχου WebBrowser στα προγράμματα του Microsoft Office 2003 και σε παλαιότερες εκδόσεις του Office

Τα ακόλουθα πρέπει να θεωρούνται όταν χρησιμοποιείτε το WebBrowser στοιχείου ελέγχου:
  • Το στοιχείο ελέγχου WebBrowser μεταβαίνει σε έγγραφα ασύγχρονα. Αυτό σημαίνει ότι κατά την κλήση της WebBrowser1.Navigate, η κλήση επιστρέφει τον έλεγχο στην εφαρμογή της Visual Basicbeforeτο έγγραφο έχει φορτωθεί τελείως. Εάν σχεδιάζετε στην αυτοματοποίηση της περιείχε το έγγραφο, πρέπει να χρησιμοποιήσετε τοNavigateComplete2το συμβάν για να γνωρίζετε πότε του εγγράφου έχει ολοκληρωθεί κατά τη φόρτωση. Χρήση τουΈγγραφοη ιδιότητα του αντικειμένου WebBrowser διαβιβάστηκε για να λάβετε μια αναφορά αντικειμένου εγγράφου του Office, το οποίο με τον παραπάνω κώδικα, έχει οριστεί σε oDocument.
  • Το στοιχείο ελέγχου WebBrowser δεν υποστηρίζει τη συγχώνευση μενού. Αν θέλετε το έγγραφο στοιχεία μενού να εμφανίζονται με το μενού της Visual Basic, που πρέπει να χρησιμοποιήσετε το στοιχείο ελέγχου κοντέινερ OLE.
  • Το στοιχείο ελέγχου WebBrowser γενικά αποκρύπτει τις γραμμές εργαλείων σταθερής πριν από την εμφάνιση ενός εγγράφου του Office. Μπορείτε να χρησιμοποιήσετε Αυτοματισμό για να εμφανίσετε μια κινητή γραμμή εργαλείων χρησιμοποιώντας κώδικα όπως αυτό:
       With oDocument.Application.CommandBars("Standard")
          .Position = 4 '[msoBarFloating]
          .Visible = True
       End With
    					
    Νεότερες εκδόσεις του Internet Explorer (έκδοση 5.0 και μεγαλύτερη) σας επιτρέπουν επίσης να εμφανίσετε σταθερής χρησιμοποιώντας τον ακόλουθο κώδικα:
     ' 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
    					
  • Υπάρχουν διάφορα γνωστά θέματα για να έχετε περισσότερα από ένα στοιχείο ελέγχου WebBrowser σε μια εργασία και να χρειάζεται κάθε στοιχείο ελέγχου έχει φορτωθεί με τον ίδιο τύπο εγγράφου του Office (δηλαδή, όλα τα έγγραφα του Word ή όλα τα υπολογιστικά φύλλα του Excel). Συνιστάται ότι χρησιμοποιείτε μόνο έναν έλεγχο ανά έργο και μεταβείτε σε ένα έγγραφο κάθε φορά.

    Είναι η πιο συνηθισμένη πρόβλημα με γραμμές εντολών του Office, όπου εμφανίζονται απενεργοποιημένες. Εάν έχετε δύο στοιχεία ελέγχου WebBrowser στην ίδια φόρμα, και τα δύο φόρτωση με έγγραφα του Word και εμφανίζονται οι γραμμές εργαλείων χρησιμοποιώντας μία από τις παραπάνω τεχνικές, μόνο ένα σύνολο από γραμμές εργαλείων θα είναι ενεργές και λειτουργούν σωστά. Το άλλο θα απενεργοποιηθεί και δεν είναι δυνατό να χρησιμοποιηθεί.
  • Για να απαλείψετε το WebBrowser από το τρέχον περιεχόμενό του, με τοΚάντε κλικσυμβάν από κάποιο άλλο κουμπί εντολής (ή σε κάποια άλλη κατάλληλη θέση στον κώδικά σας), μεταβείτε στη σελίδα κενή προεπιλεγμένη χρησιμοποιώντας αυτόν τον κωδικό:
       WebBrowser1.Navigate "about:blank"
    					

Αναφορές

Για περισσότερες πληροφορίες σχετικά με το στοιχείο ελέγχου WebBrowser στη Visual Basic, κάντε κλικ στο παρακάτω αριθμούς άρθρων για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
162719Τρόπος χρήσης του στοιχείου ελέγχου WebBrowser από τη Visual Basic 5.0
188271Πώς μπορείτε να εκτυπώσετε τα περιεχόμενα του στοιχείου ελέγχου προγράμματος περιήγησης στο Web από VB
191692Shdocvw.dll δεν περιλαμβάνεται στο πακέτο εγκατάστασης PDW
238313Πρόσβαση σε Internet Explorer Document Object Model από τη Visual Basic
927009Ανοίγει ένα νέο παράθυρο όταν προσπαθείτε να προβάλετε ένα πρόγραμμα του Microsoft Office 2007 στον Windows Internet Explorer 7

Ιδιότητες

Αναγν. άρθρου: 243058 - Τελευταία αναθεώρηση: Δευτέρα, 27 Σεπτεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • 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 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 5.0 Enterprise Edition
Λέξεις-κλειδιά: 
kbexpertiseinter kbhowto kbmt KB243058 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:243058

Αποστολή σχολίων

 

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