Teď jste offline a čekáte, až se znova připojí internet.

Jak automatizovat aplikaci Microsoft Excel z aplikace Visual Basic.NET

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:301982
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Souhrn
Tento článek ukazuje, jak vytvořit automatizaci Klient aplikace Microsoft Excel pomocí jazyka Microsoft Visual Basic.NET.
Další informace
Automatizace je proces, který umožňuje aplikacím, které jsou v jazycích, jako jsou například Visual Basic, programově řídit jiné aplikace. Automatizace v aplikaci Excel umožňuje provádět akce, například Vytvoření nového sešitu, přidávání dat do sešitu nebo vytváření grafů. S Aplikace Excel a dalších aplikacích sady Microsoft Office, prakticky všechny akce můžete provést ručně pomocí uživatelského rozhraní lze provést také programově pomocí automatizace.

Aplikace Excel umožňuje v tomto programové funkce pomocí objektového modelu. Objektový model je kolekce třídy a metody, které slouží jako protějšek logických komponent aplikace Aplikace Excel. Zde je například Aplikace objekt, Sešit objekt a List objekt, které obsahují funkce těchto součástí aplikace Excel. Přístup k objektovému modelu z jazyka Visual Basic.NET, můžete nastavte odkaz na knihovnu typů projekt.

Tento článek ukazuje jak nastavit správné projektu odkaz na typ knihovny aplikace Excel pro Visual Základní.NET a obsahuje ukázkový kód pro automatizaci aplikace Excel.

Vytvořit klienta automatizaci v aplikaci Microsoft Excel

  1. Spusťte aplikaci Visual Studio.NET.
  2. V Soubor nabídky, klepněte na tlačítkoNovýa klepněte na tlačítko Projekt. VybratAplikace systému Windows z typů projektu jazyka Visual Basic. Formulář1 ve výchozím nastavení je vytvořen.
  3. Přidat odkaz na Objekt aplikace Microsoft Excel Knihovna. Chcete-li to provést, postupujte takto:
    1. V Projekt nabídky, klepněte na tlačítko Přidat Odkaz.
    2. V COM karta, vyhledejte Knihovna objektů Microsoft Excela klepněte na tlačítko Vybrat.

      Poznámka: Microsoft Office 2003 zahrnuje primární sestavení Interop (PIA). Microsoft Office XP nezahrnuje sestavení PIA, ale mohou být staženy. Další informace o sestaveních PIA sady Office XP, klepněte následující článek znalostní báze Microsoft Knowledge Base:
      328912Microsoft Office XP primární sestavení InterOp (PIA) jsou k dispozici ke stažení
    3. Klepněte na tlačítko OK v Přidat Odkazy Dialogové okno potvrďte výběr.
  4. V Zobrazení nabídka selectPanel nástrojů zobrazení panelu a potom přidat tlačítko Formulář1.
  5. Poklepejte na položku Button1. V okně kód pro Zobrazí se formulář.
  6. V okně Kód vyhledejte následující kód:
        Private Sub Button1_Click(ByVal sender As System.Object, _      ByVal e As System.EventArgs) Handles Button1.Click    End Sub					
    Předchozí kód nahraďte následující 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. Následující kód přidejte na začátek Form1.vb:
    Imports Microsoft.Office.Core					

Testování klienta automatizace

  1. Stisknutím klávesy F5 sestavit a spustit program.
  2. Ve formuláři klepněte na tlačítko Button1. Program Spustí aplikaci Excel a vyplní data do nového listu.
  3. Po výzvě zadejte údaje o prodeji za čtvrtletí, klepněte na tlačítkoAno. Graf, který je propojen s daty čtvrtletní vkládá list.
Odkazy
Další informace naleznete na následující společnosti Microsoft Webu Developer Network (MSDN):
Vývoj sady Microsoft Office s aplikací Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489 (office.10) .aspx
Další informace o aplikaci Excel a Visual Basic klepněte následujícím článku znalostní báze článek znalostní báze Microsoft Knowledge Base:
219151Automatizace aplikace Microsoft Excel z aplikace Visual Basic
automatizace xl2003 automat automatický automatizace Metoda CreateObject

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 301982 - Poslední kontrola: 12/06/2015 03:27:54 - Revize: 10.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 KbMtcs
Váš názor