Τρόπος αυτοματοποίησης του Microsoft Excel από τη Visual Basic.NET

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

Περίληψη

Αυτό το άρθρο επιδεικνύει τον τρόπο δημιουργίας ενός αυτοματισμού πρόγραμμα-πελάτης για το Microsoft Excel, χρησιμοποιώντας το Microsoft Visual Basic.NET.

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

Αυτοματοποίηση είναι μια διαδικασία που επιτρέπει σε εφαρμογές που είναι έχει συνταχθεί σε γλώσσες όπως η Visual Basic για να ελέγχετε μέσω άλλων εφαρμογές. Αυτοματοποίηση Excel σας επιτρέπει να εκτελείτε ενέργειες όπως Δημιουργία νέου βιβλίου εργασίας, προσθήκη δεδομένων στο βιβλίο εργασίας ή τη δημιουργία γραφημάτων. Με Το Excel και άλλες εφαρμογές του Microsoft Office, σχεδόν όλες οι ενέργειες ότι μπορείτε να εκτελέσετε με μη αυτόματο τρόπο μέσω της διασύνδεσης χρήστη μπορεί επίσης να εκτελεστεί μέσω προγραμματισμού, χρησιμοποιώντας αυτοματοποίηση.

Excel εκθέτει αυτή μέσω προγραμματισμού λειτουργία μέσω ενός μοντέλου αντικειμένου. Το μοντέλο αντικειμένου είναι μια συλλογή κλάσεις και μεθόδους που χρησιμεύουν ως αντίστοιχα λογικά στοιχεία Το Excel. Για παράδειγμα, υπάρχει ένα Εφαρμογή το αντικείμενο, μια Το βιβλίο εργασίας το αντικείμενο, και ένα Φύλλο εργασίας το αντικείμενο, τα οποία περιέχουν τη λειτουργικότητα αυτών στοιχεία του Excel. Για να αποκτήσετε πρόσβαση στο μοντέλο αντικειμένου από τη Visual Basic.ΚΑΘΑΡΉ, μπορείτε να Ορίστε μια αναφορά έργου σε βιβλιοθήκη τύπων.

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

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

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

      Σημείωση Microsoft Office 2003 περιλαμβάνει κύρια Interop (PIA). Microsoft Office XP περιλαμβάνουν στοιχεία PIA, αλλά μπορείτε να κάνετε λήψη. Για περισσότερες πληροφορίες σχετικά με τα στοιχεία PIA του Office XP, κάντε κλικ στην επιλογή του παρακάτω αριθμό άρθρου για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
      328912Microsoft Office XP κύριο σύνολο διαλειτουργικότητας (PIA) είναι διαθέσιμα για λήψη
    3. Κάντε κλικ στο κουμπί OK με το Προσθήκη Αναφορές παράθυρο διαλόγου για να αποδεχτείτε τις επιλογές σας.
  4. Από το Προβολή μενού, επιλέξτεΕργαλειοθήκη Για να εμφανίσετε την εργαλειοθήκη και, στη συνέχεια, να προσθέσετε ένα κουμπί Form1.
  5. Κάντε διπλό κλικ Button1. Παράθυρο κώδικα για εμφανίζεται η φόρμα.
  6. Στο παράθυρο κώδικα, εντοπίστε τον ακόλουθο κώδικα:
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    					
    Αντικαταστήστε τον προηγούμενο κώδικα με τον ακόλουθο κώδικα:
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
            Dim oXL As Excel.Application
            Dim oWB As Excel.Workbook
            Dim oSheet As Excel.Worksheet
            Dim oRng As Excel.Range
    
            ' Start Excel and get Application object.
            oXL = CreateObject("Excel.Application")
            oXL.Visible = True
    
            ' Get a new workbook.
            oWB = oXL.Workbooks.Add
            oSheet = oWB.ActiveSheet
    
            ' Add table headers going cell by cell.
            oSheet.Cells(1, 1).Value = "First Name"
            oSheet.Cells(1, 2).Value = "Last Name"
            oSheet.Cells(1, 3).Value = "Full Name"
            oSheet.Cells(1, 4).Value = "Salary"
    
            ' Format A1:D1 as bold, vertical alignment = center.
            With oSheet.Range("A1", "D1")
                .Font.Bold = True
                .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
            End With
    
            ' Create an array to set multiple values at once.
            Dim saNames(5, 2) As String
            saNames(0, 0) = "John"
            saNames(0, 1) = "Smith"
            saNames(1, 0) = "Tom"
            saNames(1, 1) = "Brown"
            saNames(2, 0) = "Sue"
            saNames(2, 1) = "Thomas"
            saNames(3, 0) = "Jane"
    
            saNames(3, 1) = "Jones"
            saNames(4, 0) = "Adam"
            saNames(4, 1) = "Johnson"
    
            ' Fill A2:B6 with an array of values (First and Last Names).
            oSheet.Range("A2", "B6").Value = saNames
    
            ' Fill C2:C6 with a relative formula (=A2 & " " & B2).
            oRng = oSheet.Range("C2", "C6")
            oRng.Formula = "=A2 & "" "" & B2"
    
            ' Fill D2:D6 with a formula(=RAND()*100000) and apply format.
            oRng = oSheet.Range("D2", "D6")
            oRng.Formula = "=RAND()*100000"
            oRng.NumberFormat = "$0.00"
    
            ' AutoFit columns A:D.
            oRng = oSheet.Range("A1", "D1")
            oRng.EntireColumn.AutoFit()
    
            ' Manipulate a variable number of columns for Quarterly Sales Data.
            Call DisplayQuarterlySales(oSheet)
    
            ' Make sure Excel is visible and give the user control
            ' of Excel's lifetime.
            oXL.Visible = True
            oXL.UserControl = True
    
            ' Make sure that you release object references.
            oRng = Nothing
            oSheet = Nothing
            oWB = Nothing
            oXL.Quit()
            oXL = Nothing
    
            Exit Sub
    Err_Handler:
            MsgBox(Err.Description, vbCritical, "Error: " & Err.Number)
        End Sub
    
        Private Sub DisplayQuarterlySales(ByVal oWS As Excel.Worksheet)
            Dim oResizeRange As Excel.Range
            Dim oChart As Excel.Chart
            Dim oSeries As Excel.Series
            Dim iNumQtrs As Integer
            Dim sMsg As String
            Dim iRet As Integer
    
    
            ' Determine how many quarters to display data for.
            For iNumQtrs = 4 To 2 Step -1
                sMsg = "Enter sales data for" & Str(iNumQtrs) & " quarter(s)?"
                iRet = MsgBox(sMsg, vbYesNo Or vbQuestion _
                   Or vbMsgBoxSetForeground, "Quarterly Sales")
                If iRet = vbYes Then Exit For
            Next iNumQtrs
    
            ' Starting at E1, fill headers for the number of columns selected.
            oResizeRange = oWS.Range("E1", "E1").Resize(ColumnSize:=iNumQtrs)
            oResizeRange.Formula = "=""Q"" & COLUMN()-4 & CHAR(10) & ""Sales"""
    
            ' Change the Orientation and WrapText properties for the headers.
            oResizeRange.Orientation = 38
            oResizeRange.WrapText = True
    
            ' Fill the interior color of the headers.
            oResizeRange.Interior.ColorIndex = 36
    
            ' Fill the columns with a formula and apply a number format.
            oResizeRange = oWS.Range("E2", "E6").Resize(ColumnSize:=iNumQtrs)
            oResizeRange.Formula = "=RAND()*100"
            oResizeRange.NumberFormat = "$0.00"
    
            ' Apply borders to the Sales data and headers.
            oResizeRange = oWS.Range("E1", "E6").Resize(ColumnSize:=iNumQtrs)
            oResizeRange.Borders.Weight = Excel.XlBorderWeight.xlThin
    
            ' Add a Totals formula for the sales data and apply a border.
            oResizeRange = oWS.Range("E8", "E8").Resize(ColumnSize:=iNumQtrs)
            oResizeRange.Formula = "=SUM(E2:E6)"
            With oResizeRange.Borders(Excel.XlBordersIndex.xlEdgeBottom)
                .LineStyle = Excel.XlLineStyle.xlDouble
                .Weight = Excel.XlBorderWeight.xlThick
            End With
    
            ' Add a Chart for the selected data.
            oResizeRange = oWS.Range("E2:E6").Resize(ColumnSize:=iNumQtrs)
            oChart = oWS.Parent.Charts.Add
            With oChart
                .ChartWizard(oResizeRange, Excel.XlChartType.xl3DColumn, , Excel.XlRowCol.xlColumns)
                oSeries = .SeriesCollection(1)
                oSeries.XValues = oWS.Range("A2", "A6")
                For iRet = 1 To iNumQtrs
                    .SeriesCollection(iRet).Name = "=""Q" & Str(iRet) & """"
                Next iRet
                .Location(Excel.XlChartLocation.xlLocationAsObject, oWS.Name)
            End With
    
            ' Move the chart so as not to cover your data.
            With oWS.Shapes.Item("Chart 1")
                .Top = oWS.Rows(10).Top
                .Left = oWS.Columns(2).Left
            End With
    
            ' Free any references.
            oChart = Nothing
            oResizeRange = Nothing
        End Sub
    					
  7. Προσθέστε τον ακόλουθο κώδικα στο επάνω μέρος Form1.vb:
    Imports Microsoft.Office.Core
    					

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

  1. Πατήστε F5 για να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.
  2. Στη φόρμα, κάντε κλικ στο κουμπί Button1. Το πρόγραμμα ξεκινά το Excel και δεδομένα σε ένα νέο φύλλο εργασίας.
  3. Όταν σας ζητηθεί να εισαγάγετε τα τριμηνιαία στοιχεία πωλήσεων, κάντε κλικ στο κουμπίΝαι. Προστίθεται ένα γράφημα που συνδέεται με τα τριμηνιαία στοιχεία του φύλλο εργασίας.

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη Microsoft Τοποθεσία Web Developer Network (MSDN):
Ανάπτυξη του Microsoft Office με το Visual Studio
.aspx http://msdn2.Microsoft.com/en-us/library/aa188489 (office.10)
Για περισσότερες πληροφορίες σχετικά με το Excel και Visual Basic, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το το άρθρο της Γνωσιακής Βάσης της Microsoft:
219151Τρόπος αυτοματοποίησης του Microsoft Excel από τη Visual Basic

Ιδιότητες

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

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

 

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