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

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 304643 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Microsoft Visual C# και Microsoft Visual C# 2005.NET έκδοση αυτού του άρθρου, ανατρέξτε στο θέμα 304662.
Ανάπτυξη όλων | Σύμπτυξη όλων

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

Περίληψη

Θέλετε να εμφανίσετε ή να ενσωματώσετε ένα έγγραφο του Microsoft Office απευθείας σε μια φόρμα Microsoft Visual Basic. 2005 Microsoft Visual Basic και Visual Basic.NET παρέχουν ένα στοιχείο ελέγχου OLE που σάς επιτρέπει να ενσωματώσετε ένα Έγγραφο του Office σε μια φόρμα. Εάν θέλετε να ενσωματώσετε ένα υπάρχον έγγραφο και άνοιγμα ως ένα αντικείμενο επιτόπου ActiveX έγγραφο μέσα σε μια φόρμα της Visual Basic, μια πιθανή λύση είναι να χρησιμοποιήσετε το WebBrowser στοιχείο ελέγχου.

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

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

Έγγραφα ΑctiveX έχουν ενσωματωθεί αντικείμενα OLE που συμπεριφέρονται περισσότερα στοιχεία ελέγχου ActiveX, όπως από τα παραδοσιακά αντικείμενα OLE. Σε αντίθεση με μια παραδοσιακή ενσωματωμένο αντικείμενο, ένα έγγραφο έχει σχεδιαστεί ώστε να είναι περιορισμένη αντικείμενο ActiveX μέγεθος του εγγράφου. Αντίθετα, θεωρείται ότι είναι στο ίδιο πλήρες έγγραφο που απλώς την προβολή (όπως με τον Microsoft Internet Explorer) ή συλλέγονται σε έναν πόρο με άλλα έγγραφα (όπως το Microsoft Το Office Binder αρχείο). Ένα έγγραφο ActiveX που φιλοξενείται στο του WebBrowser στοιχείο ελέγχου είναι πάντα ενεργή. Επομένως, σε αντίθεση με τις παραδοσιακές OLE ενσωματωμένα αντικείμενα, δεν υπάρχει κανένα νόημα στο σημείο ενεργοποίησης.

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

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

Για να δημιουργήσετε μια εφαρμογή της Visual Basic που ανοίγει το Office έγγραφα, ακολουθήστε τα εξής βήματα:
  1. Στο Microsoft Visual Studio 2005 ή στο Microsoft Visual Studio.NET, να δημιουργήσετε ένα έργο εφαρμογών των Windows χρησιμοποιώντας τη Visual Basic 2005 ή Visual Basic.NET. Δημιουργείται η φόρμα Form1 από προεπιλογή.
  2. Από το Εργαλεία μενού, κάντε κλικ στο κουμπί Προσαρμόστε την εργαλειοθήκη Για να ανοίξετε το Προσαρμόστε την εργαλειοθήκη στο παράθυρο διαλόγου. Από το Τα στοιχεία COM καρτέλα, προσθέστε μια αναφορά για το Microsoft WebBrowser. Κάντε κλικ στο κουμπί OK Για να προσθέσετε το WebBrowser ελέγχουν την εργαλειοθήκη των Windows Forms. Το WebBrowser το στοιχείο ελέγχου εμφανίζεται με το κείμενο Εξερεύνηση στην εργαλειοθήκη.

    Σημείωση Στο Visual Studio 2005 δεν έχουν στο βήμα 2.
  3. Χρησιμοποιώντας την εργαλειοθήκη, προσθέστε ένα WebBrowser στοιχείο ελέγχου, ένα OpenFileDialog στοιχείο ελέγχου, και ένα Κουμπί Έλεγχος Form1. Προσθέτει αυτό το βήμα του AxWebBrowser1 μεταβλητή μέλους του OpenFileDialog1 μεταβλητή μέλους και το Button1 η μεταβλητή μέλους για την κλάση Form1.
  4. Ορισμός ιδιωτικό μέλος της κλάσης Form1 ως εξής.
    Dim oDocument as Object
  5. Επικολλήστε τον παρακάτω κώδικα στην κλάση Form1.
    Private Sub Button1_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
    
        Dim strFileName As String
    
        'Find the Office document.
        With OpenFileDialog1
            .FileName = ""
            .ShowDialog()
            strFileName = .FileName
        End With
    
        'If the user does not cancel, open the document.
        If strFileName.Length Then
            oDocument = Nothing
            AxWebBrowser1.Navigate(strFileName)
        End If
    
    End Sub
    
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As _
       System.EventArgs) Handles MyBase.Load
    
        Button1.Text = "Browse"
    
        With OpenFileDialog1
            .Filter = "Office Documents " & _
            "(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt"
            .FilterIndex = 1
        End With
    
    End Sub
    
    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As _
       System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    
        oDocument = Nothing
    
    End Sub
    
    Private Sub AxWebBrowser1_NavigateComplete2(ByVal sender As Object, _
       ByVal e As AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event) _
       Handles AxWebBrowser1.NavigateComplete2
    
        On Error Resume Next
    
        oDocument = e.pDisp.Document
    
        'Note: You can use the reference to the document object to
        '      automate the document server.
        MsgBox("File opened by: " & oDocument.Application.Name)
    
    End Sub
    					
    Σημείωση Πρέπει να αλλάξετε τον κωδικό στο Visual Studio 2005. Από προεπιλογή, το Visual Basic προσθέτει μία φόρμα στο έργο, όταν δημιουργείτε ένα έργο Windows Forms. Η φόρμα ονομάζεται Form1. Τα δύο αρχεία που αντιπροσωπεύουν τη φόρμα ονομάζονται Form1.vb και Form1.designer.vb. Συντάξτε τον κώδικα στο Form1.vb. Το αρχείο Form1.designer.vb είναι όπου ο σχεδιαστής Windows εγγράφει τον κώδικα που υλοποιεί όλες τις ενέργειες που εκτελούνται με μεταφορά και απόθεση στοιχείων ελέγχου από την εργαλειοθήκη.
  6. Πατήστε F5 για να εκτελεστεί το έργο. Όταν κάνετε κλικ Αναζήτηση, το Άνοιγμα εμφανίζεται το παράθυρο διαλόγου και σας επιτρέπει να αναζητήσετε μια λέξη, το Excel, ή Αρχείο του PowerPoint. Επιλέξτε οποιοδήποτε αρχείο και κάντε κλικ στο κουμπί Άνοιγμα. Το έγγραφο ανοίγει στο εσωτερικό του WebBrowser στοιχείο ελέγχου και ένα πλαίσιο μηνύματος που εμφανίζει το όνομα του Office εμφανίζεται το έγγραφο διακομιστή.

Ζητήματα όταν χρησιμοποιείτε το στοιχείο ελέγχου WebBrowser

Πρέπει να λάβετε υπόψη τα παρακάτω κατά τη χρήση του WebBrowser ελέγχου:
  • Το WebBrowser στοιχείο ελέγχου μεταβεί σε έγγραφα ασύγχρονα. Κατά την κλήση WebBrowser1.Navigate, η κλήση επιστρέφει τον έλεγχο εφαρμογής της Visual Basic πριν από το έγγραφο έχει φορτωθεί τελείως. Εάν σχεδιάζετε να Αυτοματοποίηση που περιέχονται στο έγγραφο, πρέπει να χρησιμοποιήσετε το NavigateComplete2 συμβάν Για να ειδοποιηθείτε όταν ολοκληρωθεί η φόρτωση του εγγράφου. Χρήση του Το έγγραφο ιδιότητα του WebBrowser αντικείμενο που διαβιβάστηκε για να λάβετε μια αναφορά για το Office αντικείμενο έγγραφο, το οποίο με τον παραπάνω κώδικα έχει οριστεί σε oDocument.
  • Το WebBrowser στοιχείο ελέγχου υποστηρίζει τη συγχώνευση μενού.
  • Το 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...
    AxWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER)
    					
  • Υπάρχουν πολλά γνωστά ζητήματα με περισσότερες από μία WebBrowser στοιχείο ελέγχου σε ένα έργο και έχοντας κάθε φορτωμένο με το ίδιο στοιχείο ελέγχου Τύπος εγγράφου του Office (δηλαδή, όλα τα έγγραφα του Word ή Excel όλων υπολογιστικά φύλλα). Συνιστάται να χρησιμοποιείτε μόνο ένα στοιχείο ελέγχου ανά έργο, και Αναζητήστε ένα έγγραφο τη φορά.

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

Ζητήματα όταν χρησιμοποιείτε το στοιχείο ελέγχου WebBrowser μαζί με ένα πρόγραμμα του Microsoft Office 2007

Από προεπιλογή, τα προγράμματα του Office 2007 δεν ανοίγουν έγγραφα του Office στο πρόγραμμα περιήγησης Web. Αυτή η συμπεριφορά επηρεάζει επίσης το WebBrowser στοιχείο ελέγχου. Συνιστάται να χρησιμοποιείτε προσαρμοσμένο κοντέινερ ActiveX εγγράφου αντί για το WebBrowser στοιχείο ελέγχου όταν αναπτύσσετε εφαρμογές που ανοίγουν έγγραφα του Office 2007. Για περισσότερες πληροφορίες σχετικά με τις προσαρμοσμένες κοντέινερ ActiveX document, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
311765Οπτικό στοιχείο ελέγχου C++ ActiveX για τη διατήρηση των εγγράφων του Office σε Visual Basic ή HTML
Για τις υπάρχουσες εφαρμογές που απαιτούν συμβατότητα με το WebBrowser στοιχείο ελέγχου, μπορείτε να τροποποιήσετε το μητρώο για να ρυθμίσετε τις παραμέτρους του Internet Explorer. Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να ρυθμίσετε τις παραμέτρους του Internet Explorer για να ανοίξετε έγγραφα του Office 2007 στο πρόγραμμα περιήγησης Web. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
927009Ανοίγει ένα νέο παράθυρο όταν προσπαθείτε να προβάλετε ένα πρόγραμμα του Microsoft Office 2007 στον Windows Internet Explorer 7
Σημείωση Εάν τροποποιήσετε το μητρώο, χρησιμοποιώντας τη μέθοδο που αναφέρεται στη Γνωσιακή βάση, άρθρο 927009, οι αλλαγές επηρεάζουν το WebBrowser στοιχείο ελέγχου που χρησιμοποιείτε στην εφαρμογή. Οι αλλαγές επηρεάζουν επίσης όλες τις εμφανίσεις του Internet Explorer. Επιπλέον, αυτή η μέθοδος ενδέχεται να λειτουργεί για σε μελλοντικές εκδόσεις της οικογένειας προγραμμάτων του Microsoft Office. Επομένως, συνιστούμε να χρησιμοποιήσετε αυτήν τη μέθοδο μόνο για συμβατότητα με υπάρχουσα εφαρμογή.

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τη χρήση του στοιχείου ελέγχου WebBrowser, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
304562Visual Studio 2005 και Visual Studio.NET παρέχουν ένα στοιχείο ελέγχου κοντέινερ OLE για Windows Forms
243058 Τρόπος χρήσης του στοιχείου ελέγχου WebBrowser για να ανοίξετε ένα έγγραφο του Office
162719 Τρόπος χρήσης του στοιχείου ελέγχου WebBrowser από Visual Basic 5.0
202476 Σφάλμα: Δεν είναι δυνατό να επεξεργαστείτε το έγγραφο του Word σε στοιχείο ελέγχου OLE ή WebBrowser
188271 Πώς μπορείτε να εκτυπώσετε τα περιεχόμενα του στοιχείου ελέγχου WebBrowser από VB
191692 Shdocvw.dll δεν περιλαμβάνεται στο πακέτο εγκατάστασης PDW
238313 Πρόσβαση στο μοντέλο αντικειμένου του Internet Explorer έγγραφο από τη Visual Basic
927009 Ανοίγει ένα νέο παράθυρο όταν προσπαθείτε να προβάλετε ένα πρόγραμμα του Microsoft Office 2007 στον Windows Internet Explorer 7

Ιδιότητες

Αναγν. άρθρου: 304643 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Λέξεις-κλειδιά: 
kbactivedocs kbautomation kbhowto kbwebbrowser kbmt KB304643 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:304643

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

 

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