Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

Ako na automatizáciu Microsoft Excel z jazyka Visual Basic.NET

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:301982
Tento článok bol archivovaný. Je publikovaný v aktuálnej podobe a už nebude aktualizovaný.
SUHRN
Tento článok ukazuje ako vytvoriť automatizácie klient pre program Microsoft Excel pomocou jazyka Microsoft Visual Basic.NET.
DALSIE INFORMACIE
Automatizácia je proces, ktorý umožní aplikácií, ktoré sú napísané v jazykoch ako je Visual Basic programovo ovládať iné aplikácie. Automatizácia Excel umožňuje vykonávať akcie ako vytvoriť nový zošit, pridanie údajov do zošita alebo vytváranie grafov. S Excel a ďalších aplikáciách balíka Microsoft Office, prakticky všetky akcie že môžete vykonať manuálne pomocou používateľského rozhrania môže uskutočniť aj pomocou programovania pomocou automatizácie.

Program Excel vystavuje tomto programové funkčnosť prostredníctvom objektového modelu. Objektový model je kolekcia tried a metód, ktoré slúžia ako náprotivkami logické komponentov Excel. Napríklad, existuje Uplatňovanie objekt, Zošit objekt, a Funkcia pracovného hárka objekt, z ktorých každý obsahovať funkčnosť tých súčasti programu Excel. Na prístup k objektovému modelu jazyka Visual Basic.NET, môžete Nastavenie projektu odkazu do typu knižnice.

Tento článok ukazuje ako nastaviť správne projektu odkaz na program Excel knižnice typov pre Visual Základné.NET a poskytuje vzorky kód na automatizáciu programu Excel.

Vytvoriť automatizačných klientov programu Microsoft Excel

  1. Spustiť Microsoft Visual Studio.NET.
  2. Na Súbor ponuky, kliknite na tlačidloNové, a potom kliknite na tlačidlo Projekt. VyberteWindows aplikácie z projektu programu Visual Basic druhy. Form1 vytvára sa predvolene.
  3. Pridať odkaz na Programu Microsoft Excel objekt Knižnica. Chcete urobiť, postupujte nasledovne:
    1. Na Projekt ponuky, kliknite na tlačidlo Pridať Odkaz.
    2. Na COM kartu, vyhľadajte Objektová knižnica programu Microsoft Excel, a potom kliknite na tlačidlo Vyberte.

      Poznámka Microsoft Office 2003 obsahuje Primary Interop Assemblies (PIA). Microsoft Office XP nezahŕňa Pia, ale môžu byť stiahnuté. Ďalšie informácie o Office XP Pia, kliknite na tlačidlo nasledujúce číslo článku databázy Microsoft Knowledge Base:
      328912Microsoft Office XP primary objektovému assemblies (PIA) sú k dispozícii na prevzatie
    3. Kliknite na tlačidlo ok v Pridať Odkazy dialógové okno prijímať vaše výbery.
  4. Na Zobrazenie menu vyberteToolbox zobrazenie panela s nástrojmi a potom pridať tlačidlo Form1.
  5. Dvakrát kliknite na Button1. Okno kód pre zobrazí sa formulár.
  6. V okne kódu, vyhľadajte nasledujúci kód:
        Private Sub Button1_Click(ByVal sender As System.Object, _      ByVal e As System.EventArgs) Handles Button1.Click    End Sub					
    Nahradiť predchádzajúci kód s nasledujúci kód:
        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. Do hornej časti Form1.vb, pridajte nasledujúci kód:
    Imports Microsoft.Office.Core					

Test automatizačných klientov

  1. Stlačte kláves F5 stavať a spustite program.
  2. Vo formulári, kliknite na tlačidlo Button1. Program spustí program Excel a vyplnia údaje do nového hárka.
  3. Keď sa zobrazí výzva na zadanie štvrťročných údajov o predaji, kliknite na tlačidloáno. Graf, ktorý je prepojený s štvrťročných údajov sa pridá do Funkcia pracovného hárka.
ODKAZY
Pre viac informácií navštívte nasledujúce Microsoft Webová lokalita Developer Network (MSDN): Ďalšie informácie o programe Excel a jazyka Visual Basic, kliknite na nasledovné číslo článku zobrazte článok v databáze Microsoft Knowledge Base:
219151Automatizácia Microsoft Excel z programu Visual Basic
xl2003 automatizáciu Automatizácia Automatizácia CreateObject

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 301982 – Posledná kontrola: 12/06/2015 03:28:04 – Revízia: 2.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 KbMtsk
Pripomienky