วิธีการทำให้ Microsoft Excel เป็นอัตโนมัติจาก Visual Basic .NET

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:301982
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
สรุป
บทความนี้อธิบายวิธีการสร้างการทำงานอัตโนมัติไคลเอ็นต์สำหรับ Microsoft Excel โดยใช้ Microsoft Visual Basic .NET
ข้อมูลเพิ่มเติม
ดำเนินการอัตโนมัติคือ กระบวนการที่อนุญาตให้โปรแกรมประยุกต์ที่กำลังเขียนในภาษาเช่น Visual Basic โดยทางโปรแกรมควบคุมโปรแกรมประยุกต์อื่น ดำเนินการอัตโนมัติไปที่ Excel ช่วยให้คุณสามารถทำการดำเนินการเช่นการสร้างสมุดงานใหม่ การเพิ่มข้อมูลไปยังสมุดงาน หรือสร้างแผนภูมิ กับ Excel และโปรแกรมประยุกต์ Microsoft Office อื่น ๆ แบบเสมือนจริงทั้งหมดของการดำเนินการที่คุณสามารถทำด้วยตนเองผ่านทางอินเทอร์เฟซสำหรับผู้ใช้สามารถยังสามารถทำได้โดยทางโปรแกรมโดยอัตโนมัติ

Excel exposes ฟังก์ชันนี้โดยทางโปรแกรม โดยมีรูปแบบของวัตถุ รูปแบบวัตถุคือ ชุดของคลาสที่และวิธีการที่ทำหน้าที่เป็นอื่น ๆ ไปยังส่วนประกอบทางตรรกะของ Excel ตัวอย่างเช่น ไม่มีโปรแกรมประยุกต์วัตถุ คำสมุดงานวัตถุ และ aแผ่นงานวัตถุ แต่ละซึ่งประกอบด้วยฟังก์ชันการทำงานของส่วนประกอบต่าง ๆ ของ Excel เมื่อต้องการเข้าถึงรูปแบบวัตถุจาก Visual Basic .NET คุณสามารถตั้งค่าการอ้างอิงโครงการในไลบรารีชนิด

บทความนี้อธิบายวิธีการตั้งค่าการอ้างอิงโครงการที่เหมาะสมในไลบรารีชนิด Excel สำหรับ Visual Basic .NET และแสดงตัวอย่างรหัสการทำให้ Excel

สร้างไคลเอ็นต์การดำเนินการอัตโนมัติสำหรับ Microsoft Excel

  1. เริ่ม Microsoft Visual Studio .NET
  2. ในการแฟ้ม:เมนู คลิกใหม่แล้ว คลิกProject. เลือกแอพลิเคชันของ windowsจากชนิดโครงการ Visual Basic Form1 จะถูกสร้างขึ้นตามค่าเริ่มต้น
  3. เพิ่มการอ้างอิงถึงวัตถุ Microsoft Excel ไลบรารี. โดยให้ทำตามขั้นตอนต่อไปนี้::
    1. ในการProjectเมนู คลิกเพิ่มการอ้างอิง.
    2. ในการcomแท็บ ค้นหาการไลบรารีวัตถุ Microsoft Excelแล้ว คลิกเลือก.

      หมายเหตุ:Microsoft Office 2003 มีแอสเซมบลี Interop หลัก (PIAs) Microsoft Office XP ไม่สามารถรวม PIAs แต่จะสามารถดาวน์โหลดสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Office XP PIAs คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      328912แอสเซ Microsoft Office XP หลัก interop มบลี (PIAs) พร้อมใช้งานสำหรับการดาวน์โหลด
    3. คลิกตกลงในการเพิ่มการอ้างอิงกล่องโต้ตอบเพื่อยอมรับการเลือกของคุณ
  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 SubErr_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 และ populates ข้อมูลบนแผ่นงานใหม่
  3. เมื่อคุณได้รับการพร้อมท์ให้ใส่ข้อมูลการขายรายไตรมาส คลิกใช่. แผนภูมิที่ถูกลิงค์ไปยังข้อมูลรายไตรมาสถูกเพิ่มไปยังแผ่นงาน
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติม โปรดแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft 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
การทำให้ xl2003 ดำเนินการอัตโนมัติ automating createobject

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 301982 - การตรวจสอบครั้งสุดท้าย: 12/06/2015 03:28:05 - ฉบับแก้ไข: 3.0

Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Excel 2002 Standard Edition

  • kbnosurvey kbarchive kbpia kbautomation kbhowto kbmt KB301982 KbMtth
คำติชม