Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.
Αυτό το άρθρο επιδεικνύει τον τρόπο δημιουργίας ενός αυτοματισμού
πρόγραμμα-πελάτης για το Microsoft Excel, χρησιμοποιώντας το Microsoft Visual Basic.NET.
Αυτοματοποίηση είναι μια διαδικασία που επιτρέπει σε εφαρμογές που είναι
έχει συνταχθεί σε γλώσσες όπως η Visual Basic για να ελέγχετε μέσω άλλων
εφαρμογές. Αυτοματοποίηση Excel σας επιτρέπει να εκτελείτε ενέργειες όπως
Δημιουργία νέου βιβλίου εργασίας, προσθήκη δεδομένων στο βιβλίο εργασίας ή τη δημιουργία γραφημάτων. Με
Το Excel και άλλες εφαρμογές του Microsoft Office, σχεδόν όλες οι ενέργειες
ότι μπορείτε να εκτελέσετε με μη αυτόματο τρόπο μέσω της διασύνδεσης χρήστη μπορεί επίσης να εκτελεστεί
μέσω προγραμματισμού, χρησιμοποιώντας αυτοματοποίηση.
Excel εκθέτει αυτή μέσω προγραμματισμού
λειτουργία μέσω ενός μοντέλου αντικειμένου. Το μοντέλο αντικειμένου είναι μια συλλογή
κλάσεις και μεθόδους που χρησιμεύουν ως αντίστοιχα λογικά στοιχεία
Το Excel. Για παράδειγμα, υπάρχει ένα Εφαρμογή το αντικείμενο, μια Το βιβλίο εργασίας το αντικείμενο, και ένα Φύλλο εργασίας το αντικείμενο, τα οποία περιέχουν τη λειτουργικότητα αυτών
στοιχεία του Excel. Για να αποκτήσετε πρόσβαση στο μοντέλο αντικειμένου από τη Visual Basic.ΚΑΘΑΡΉ, μπορείτε να
Ορίστε μια αναφορά έργου σε βιβλιοθήκη τύπων.
Αυτό το άρθρο επιδεικνύει
Τρόπος ορισμού αναφορά ορθή έργου για τη βιβλιοθήκη τύπων του Excel για Visual
Βασικό.NET και παρέχει δείγμα κώδικα για αυτοματοποίηση του Excel.
Δημιουργία ενός προγράμματος-πελάτη αυτοματισμού για το Microsoft Excel
Ξεκινήστε το Microsoft Visual Studio.NET.
Από το Το αρχείο μενού, κάντε κλικ στο κουμπίΝέα, και στη συνέχεια κάντε κλικ στο κουμπί Έργο. ΕπιλέξτεΕφαρμογή των Windows από τους τύπους έργο της Visual Basic. Φόρμα1 (Form1)
δημιουργείται από προεπιλογή.
Προσθέστε μια αναφορά στο Αντικείμενο του Microsoft Excel
Βιβλιοθήκη. Ακολουθήστε τα εξής βήματα:
Από το Έργο μενού, κάντε κλικ στο κουμπί Προσθήκη
Αναφορά.
Από το COM καρτέλα, εντοπίστε Βιβλιοθήκη αντικειμένων του Microsoft Excel, και στη συνέχεια κάντε κλικ στο κουμπί Επιλέξτε.
Σημείωση Microsoft Office 2003 περιλαμβάνει κύρια Interop (PIA).
Microsoft Office XP περιλαμβάνουν στοιχεία PIA, αλλά μπορείτε να κάνετε λήψη. Για περισσότερες πληροφορίες σχετικά με τα στοιχεία PIA του Office XP, κάντε κλικ στην επιλογή του
παρακάτω αριθμό άρθρου για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP κύριο σύνολο διαλειτουργικότητας (PIA) είναι διαθέσιμα για λήψη
Κάντε κλικ στο κουμπί OK με το Προσθήκη
Αναφορές παράθυρο διαλόγου για να αποδεχτείτε τις επιλογές σας.
Από το Προβολή μενού, επιλέξτεΕργαλειοθήκη Για να εμφανίσετε την εργαλειοθήκη και, στη συνέχεια, να προσθέσετε ένα κουμπί
Form1.
Κάντε διπλό κλικ Button1. Παράθυρο κώδικα για
εμφανίζεται η φόρμα.
Στο παράθυρο κώδικα, εντοπίστε τον ακόλουθο κώδικα:
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
Προσθέστε τον ακόλουθο κώδικα στο επάνω μέρος Form1.vb:
Imports Microsoft.Office.Core
Δοκιμή του προγράμματος-πελάτη αυτοματισμού
Πατήστε F5 για να δημιουργήσετε και να εκτελέσετε το πρόγραμμα.
Στη φόρμα, κάντε κλικ στο κουμπί Button1. Το πρόγραμμα
ξεκινά το Excel και δεδομένα σε ένα νέο φύλλο εργασίας.
Όταν σας ζητηθεί να εισαγάγετε τα τριμηνιαία στοιχεία πωλήσεων, κάντε κλικ στο κουμπίΝαι. Προστίθεται ένα γράφημα που συνδέεται με τα τριμηνιαία στοιχεία του
φύλλο εργασίας.
Για περισσότερες πληροφορίες
σχετικά με το Excel και Visual Basic, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το
το άρθρο της Γνωσιακής Βάσης της Microsoft:
219151
(http://support.microsoft.com/kb/219151/
)
Τρόπος αυτοματοποίησης του Microsoft Excel από τη Visual Basic
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:301982
(http://support.microsoft.com/kb/301982/en-us/
)
Πόση προσπάθεια καταβάλλατε για να χρησιμοποιήσετε αυτό το άρθρο;
Πολύ λίγη
Λίγη
Μέτρια
Μεγάλη
Πολύ μεγάλη
Πείτε μας για ποιον λόγο και με ποιον τρόπο θα μπορούσαμε να βελτιώσουμε αυτές τις πληροφορίες
Σας ευχαριστούμε! Τα σχόλιά σας θα μας βοηθήσουν να βελτιώσουμε το περιεχόμενο υποστήριξης. Για περισσότερες επιλογές βοήθειας, επισκεφτείτε την αρχική σελίδα της Βοήθειας και υποστήριξης.