Làm th? nào đ? t? đ?ng hoá Microsoft Excel t? Visual Basic.NET

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 301982 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

TÓM T?T

Bài vi?t này ch?ng t? làm th? nào đ? t?o ra m?t t? đ?ng hóa khách hàng cho Microsoft Excel b?ng cách s? d?ng Microsoft Visual Basic.NET.

THÔNG TIN THÊM

T? đ?ng hóa là m?t quá tr?nh mà cho phép các ?ng d?ng đang vi?t b?ng các ngôn ng? như Visual Basic đ? l?p tr?nh đi?u khi?n khác các ?ng d?ng. T? đ?ng hóa đ? Excel cho phép b?n th?c hi?n hành đ?ng như t?o m?t b?ng tính m?i, thêm d? li?u vào b?ng tính ho?c t?o charts. V?i Excel và các ?ng d?ng Microsoft Office, h?u như t?t c? các hành đ?ng r?ng b?n có th? th?c hi?n b?ng tay thông qua giao di?n ngư?i dùng c?ng có th? đư?c th?c hi?n l?p tr?nh b?ng cách s? d?ng t? đ?ng hóa.

Excel cho th?y nhi?u chương tr?nh này ch?c năng thông qua m?t mô h?nh đ?i tư?ng. Các mô h?nh đ?i tư?ng là m?t b? sưu t?p các l?p h?c và các phương pháp mà ph?c v? như là các đ?i tác đ? các thành ph?n h?p l? c?a Excel. Ví d?, đó là m?t ?ng d?ng đ?i tư?ng, m?t B?ng tính đ?i tư?ng, và m?t B?ng tính đ?i tư?ng, m?i trong s? đó có ch?a các ch?c năng c?a nh?ng ngư?i các thành ph?n c?a Excel. Đ? truy c?p vào các mô h?nh đ?i tư?ng t? Visual Basic.NET, b?n có th? thi?t l?p m?t d? án tham chi?u đ?n các thư vi?n ki?u.

Bài vi?t này minh ch?ng làm th? nào đ? thi?t l?p đúng d? án tham chi?u đ?n thư vi?n ki?u Excel cho th? giác Cơ b?n.NET và cung c?p các m?u m? đ? t? đ?ng hoá Excel.

T?o ra m?t khách hàng t? đ?ng hóa cho Microsoft Excel

  1. B?t đ?u Microsoft Visual Studio.NET.
  2. Trên các Tệp tr?nh đơn, nh?p vàoM?i, sau đó b?m Dự án. Ch?n?ng d?ng Windows t? các lo?i d? án Visual Basic. Form1 đư?c t?o ra theo m?c đ?nh.
  3. Thêm m?t tham chi?u đ?n Microsoft Excel đ?i tư?ng Thư vi?n. Để thực hiện việc này, hãy làm theo những bước sau:
    1. Trên các Dự án tr?nh đơn, nh?p vào Thêm Tham kh?o.
    2. Trên các COM tab, xác đ?nh v? trí Microsoft Excel đ?i tư?ng thư vi?n, sau đó b?m Ch?n.

      Chú ý Microsoft Office 2003 bao g?m chính Interop h?i đ?ng (PIAs). Microsoft Office XP không bao g?m PIAs, nhưng h? có th? đư?c t?i v?. Đ? bi?t thêm chi ti?t v? Office XP PIAs, b?m vào các s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
      328912Microsoft Office XP chính interop h?i đ?ng (PIAs) có s?n đ? t?i v?
    3. Nh?p vào Ok trong các Thêm Tham khảo h?p tho?i đ? ch?p nh?n c?a b?n l?a ch?n.
  4. Trên các Xem tr?nh đơn, ch?nH?p công c? hi?n th? h?p công c?, và sau đó thêm m?t nút đ? Form1.
  5. B?m đúp Button1. C?a s? m? cho các h?nh th?c xu?t hi?n.
  6. Trong c?a s? m?, xác đ?nh v? trí m? sau đây:
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    					
    Thay th? m? trư?c v?i đo?n m? sau:
        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. Thêm m? sau vào phía trên c?a Form1.vb:
    Imports Microsoft.Office.Core
    					

Ki?m tra khách hàng t? đ?ng hóa

  1. Nh?n F5 đ? xây d?ng và ch?y chương tr?nh.
  2. Vào m?u, b?m vào Button1. Chương tr?nh b?t đ?u Excel và populates d? li?u trên m?t b?ng tính m?i.
  3. Khi b?n đư?c nh?c nh?p d? li?u bán hàng hàng qu?, nh?p vàoCó. M?t bi?u đ? đư?c liên k?t đ?n d? li?u hàng qu? đư?c thêm vào các b?ng tính.

THAM KH?O

Đ? bi?t thêm chi ti?t, h?y truy c?p Microsoft sau đây Trang Web c?a nhà phát tri?n m?ng (MSDN):
Văn ph?ng Microsoft phát tri?n v?i Visual Studio
http://msdn2.Microsoft.com/en-US/Library/aa188489 (office.10) .aspx
Đ? bi?t thêm v? Excel và Visual Basic, nh?p vào s? bài vi?t sau đây đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
219151Làm th? nào đ? t? đ?ng hoá Microsoft Excel t? Visual Basic

Thu?c tính

ID c?a bài: 301982 - L?n xem xét sau cùng: 26 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
T? khóa: 
kbpia kbautomation kbhowto kbmt KB301982 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:301982

Cung cấp Phản hồi

 

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