Τρόπος αυτοματοποίησης του Excel από τη Visual Basic.ΚΑΘΑΡΉ για το γέμισμα ή λήψης δεδομένων σε μια περιοχή χρησιμοποιώντας πίνακες

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

Περίληψη

Αυτό το άρθρο επιδεικνύει τον τρόπο για την αυτοματοποίηση του Microsoft Excel και να συμπληρώσετε μια Οι περιοχή με έναν πίνακα τιμών. Αυτό το άρθρο περιγράφει επίσης τον τρόπο ανάκτηση οι περιοχή ως πίνακα χρησιμοποιώντας αυτοματοποίηση.

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

Για να γεμίσετε μια multi-cell περιοχή χωρίς τη συμπλήρωση κελιά κάθε μια φορά, μπορείτε να ορίσετε το Τιμή ιδιότητα ενός Περιοχή το αντικείμενο σε έναν δυσδιάστατο πίνακα. Παρομοίως, μια δισδιάστατη πίνακας τιμών μπορεί να ανακτηθεί για πολλά κελιά ταυτόχρονα χρησιμοποιώντας το Τιμή η ιδιότητα. Τα παρακάτω βήματα δείχνουν αυτήν τη διαδικασία για τα δύο ρύθμιση και την ανάκτηση δεδομένων χρησιμοποιώντας πίνακες δύο διαστάσεων.

Δόμηση του προγράμματος-πελάτη αυτοματισμού για το Microsoft Excel

  1. Ξεκινήστε το Microsoft Visual Studio.NET.
  2. Από το Το αρχείο μενού, κάντε κλικ στο κουμπί Νέα, και στη συνέχεια κάντε κλικ στο κουμπί Έργο. Επιλέξτε Εφαρμογή των Windows από τους τύπους έργο της Visual Basic. Από προεπιλογή, είναι Form1 Δημιουργία.
  3. Προσθέστε μια αναφορά στο Βιβλιοθήκη αντικειμένων του Microsoft Excel. Ακολουθήστε τα εξής βήματα:
    1. Από το Έργο μενού, κάντε κλικ στο κουμπί Προσθήκη αναφοράς.
    2. Από το COM καρτέλα, εντοπίστε Microsoft Excel Βιβλιοθήκη αντικειμένων, και στη συνέχεια κάντε κλικ στο κουμπί Επιλέξτε.

      Σημείωση Microsoft Office 2007 και το Microsoft Office 2003 περιλαμβάνει κύρια Interop (PIA). Του Microsoft Office XP περιλαμβάνουν στοιχεία PIA, αλλά μπορείτε να κάνετε λήψη.

      Για πρόσθετες πληροφορίες σχετικά με το Office XP Στοιχεία PIA, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Microsoft (Knowledge Base):
      328912 ΠΛΗΡΟΦΟΡΙΕΣ: Στοιχεία PIA Microsoft Office XP είναι διαθέσιμα για λήψη
    3. Κάντε κλικ στο κουμπί OK με το Προσθήκη αναφορών παράθυρο διαλόγου για να αποδεχτείτε τις επιλογές σας. Εάν σας ζητηθεί να δημιουργήσετε προγράμματα εξομοίωσης για βιβλιοθήκες που επιλέξατε, κάντε κλικ στο Ναι.
  4. Από το Προβολή μενού, επιλέξτε Εργαλειοθήκη Για να εμφανίσετε την εργαλειοθήκη. Προσθέστε δύο κουμπιά και ένα πλαίσιο ελέγχου Form1.
  5. Ορισμός του Όνομα η ιδιότητα του πλαισίου ελέγχουFillWithStrings.
  6. Κάντε διπλό κλικ Button1. Εμφανίζεται το παράθυρο κώδικα της φόρμας.
  7. Προσθέστε τα ακόλουθα στο επάνω μέρος Form1.vb:
    Imports Microsoft.Office.Interop
    					
  8. Στο παράθυρο κώδικα, αντικαταστήστε τον ακόλουθο κώδικα
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    					
    με:
        'Keep the application object and the workbook object global, so you can  
        'retrieve the data in Button2_Click that was set in Button1_Click.
        Dim objApp As Excel.Application
        Dim objBook As Excel._Workbook
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
            Dim objBooks As Excel.Workbooks
            Dim objSheets As Excel.Sheets
            Dim objSheet As Excel._Worksheet
            Dim range As Excel.Range
    
            ' Create a new instance of Excel and start a new workbook.
            objApp = New Excel.Application()
            objBooks = objApp.Workbooks
            objBook = objBooks.Add
            objSheets = objBook.Worksheets
            objSheet = objSheets(1)
    
            'Get the range where the starting cell has the address
            'm_sStartingCell and its dimensions are m_iNumRows x m_iNumCols.
            range = objSheet.Range("A1", Reflection.Missing.Value)
            range = range.Resize(5, 5)
    
            If (Me.FillWithStrings.Checked = False) Then
                'Create an array.
                Dim saRet(5, 5) As Double
    
                'Fill the array.
                Dim iRow As Long
                Dim iCol As Long
                For iRow = 0 To 5
                    For iCol = 0 To 5
    
                        'Put a counter in the cell.
                        saRet(iRow, iCol) = iRow * iCol
                    Next iCol
                Next iRow
    
                'Set the range value to the array.
                range.Value = saRet
    
            Else
                'Create an array.
                Dim saRet(5, 5) As String
    
                'Fill the array.
                Dim iRow As Long
                Dim iCol As Long
                For iRow = 0 To 5
                    For iCol = 0 To 5
    
                        'Put the row and column address in the cell.
                        saRet(iRow, iCol) = iRow.ToString() + "|" + iCol.ToString()
                    Next iCol
                Next iRow
    
                'Set the range value to the array.
                range.Value = saRet
            End If
    
            'Return control of Excel to the user.
            objApp.Visible = True
            objApp.UserControl = True
    
            'Clean up a little.
            range = Nothing
            objSheet = Nothing
            objSheets = Nothing
            objBooks = Nothing
        End Sub
    					
  9. Επιστρέψτε στην προβολή σχεδίασης της φόρμας Form1 και στη συνέχεια κάντε διπλό κλικ Button2.
  10. Στο παράθυρο κώδικα, αντικαταστήστε τον ακόλουθο κώδικα
        Private Sub Button2_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button2.Click
    
        End Sub
    					
    με:
        Private Sub Button2_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button2.Click
            Dim objSheets As Excel.Sheets
            Dim objSheet As Excel._Worksheet
            Dim range As Excel.Range
    
            'Get a reference to the first sheet of the workbook.
            On Error Goto ExcelNotRunning
            objSheets = objBook.Worksheets
            objSheet = objSheets(1)
    
    ExcelNotRunning:
            If (Not (Err.Number = 0)) Then
                MessageBox.Show("Cannot find the Excel workbook.  Try clicking Button1 to " + _
                "create an Excel workbook with data before running Button2.", _
                "Missing Workbook?")
    
                'We cannot automate Excel if we cannot find the data we created, 
                'so leave the subroutine.
                Exit Sub
            End If
    
            'Get a range of data.
            range = objSheet.Range("A1", "E5")
    
            'Retrieve the data from the range.
            Dim saRet(,) As Object
            saRet = range.Value
    
            'Determine the dimensions of the array.
            Dim iRows As Long
            Dim iCols As Long
            iRows = saRet.GetUpperBound(0)
            iCols = saRet.GetUpperBound(1)
    
            'Build a string that contains the data of the array.
            Dim valueString As String
            valueString = "Array Data" + vbCrLf
    
            Dim rowCounter As Long
            Dim colCounter As Long
            For rowCounter = 1 To iRows
                For colCounter = 1 To iCols
    
                    'Write the next value into the string.
                    valueString = String.Concat(valueString, _
                        saRet(rowCounter, colCounter).ToString() + ", ")
    
                Next colCounter
    
                'Write in a new line.
                valueString = String.Concat(valueString, vbCrLf)
            Next rowCounter
    
            'Report the value of the array.
            MessageBox.Show(valueString, "Array Values")
    
            'Clean up a little.
            range = Nothing
            objSheet = Nothing
            objSheets = Nothing
        End Sub
    					

Δοκιμή του προγράμματος-πελάτη αυτοματισμού

  1. Πατήστε F5 για να δημιουργήσετε και να εκτελέσετε το δείγμα προγράμματος.
  2. Κάντε κλικ στο κουμπί Button1. Εκκίνηση με ένα νέο βιβλίο εργασίας Microsoft Excel και A1:E5 από τα κελιά της πρώτο φύλλο εργασίας συμπληρώνονται με αριθμητικά δεδομένα από έναν πίνακα.
  3. Κάντε κλικ στο κουμπί Button2. Το πρόγραμμα ανακτά τα δεδομένα σε κελιά A1:E5 σε έναν νέο πίνακα και εμφανίζει τα αποτελέσματα σε ένα πλαίσιο μηνύματος.
  4. Επιλέξτε FillWithStrings, και στη συνέχεια κάντε κλικ στο κουμπί Button1 Για να γεμίσετε A1:E5 κελιά με δεδομένα συμβολοσειράς.

Αναφορές

Για πρόσθετες πληροφορίες σχετικά με τη χρήση πινάκων για να ορίσετε και ανάκτηση δεδομένων του Excel με παλαιότερες εκδόσεις του Visual Studio, κάντε κλικ στο άρθρο αριθμοί παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
186120 Τρόπος χρήσης MFC για να αυτοματοποιήσετε το Excel και να συμπληρώσετε μια περιοχή με έναν πίνακα
186122 Τρόπος χρήσης της MFC να αυτοματοποιήσετε το Excel και να αποκτήσετε έναν πίνακα από μια περιοχή
247412 ΠΛΗΡΟΦΟΡΙΕΣ: Μέθοδοι για τη μεταφορά δεδομένων στο Excel από τη Visual Basic

Ιδιότητες

Αναγν. άρθρου: 302094 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 5.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Λέξεις-κλειδιά: 
kbexpertisebeginner kbautomation kbhowto kbmt KB302094 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:302094

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

 

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