Wachtwoord vergeten?

Wachtwoord vergeten
Vul hier uw email adres in. U ontvangt dan een nieuw wachtwoord.

Excel automatiseren met JScript vanaf een HTML-pagina

Gepost op 01-09-2006 - Microsoft Office - 0 reacties


De informatie in dit artikel is van toepassing op:

  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Internet Explorer 4.0 128-bits editie
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Office Excel 2003

Samenvatting

In dit artikel wordt beschreven hoe u een Microsoft Excel-werkmap maakt en bewerkt vanaf een HTML-pagina.

Meer informatie

In dit artikel wordt het gebruik van JScript-code geïllustreerd om Microsoft Excel te automatiseren. Met JScript kunt u geen SAFEARRAY's maken. Als u gebruikmaakt van automatisering en een functie aanroept waarvoor een SAFEARRAY is vereist, kunt u de SAFEARRAY maken met VBScript. In de volgende programmacode wordt deze combinatie van JScript- en VBScript-code geïllustreerd.

Automatiseringsvoorbeeld

  1. Start Kladblok.
  2. Plak de volgende code in Kladblok:
    <HTML><BODY>Klik op de knop om Excel te starten en kwartaalcijfers weer te geven.<SCRIPT LANGUAGE="VBScript">Function CreateNamesArray()' Maak een matrix om meerdere waarden tegelijk in te stellen. Dim saNames(5, 2) saNames(0, 0) = "Jan"
    saNames(0, 1) = "Smits" saNames(1, 0) = "Tom" saNames(1, 1) = "Bruins" saNames(2, 0) = "Sonja" saNames(2, 1) = "Thuis" saNames(3, 0) = "Jannie" saNames(3, 1) = "Jansen" saNames(4, 0) = "Albert" saNames(4, 1) = "Jansma" CreateNamesArray = saNamesEnd Function</SCRIPT>
    <SCRIPT LANGUAGE="JScript">function AutomateExcel(){
    // Start Excel en haal het Application-object op. var oXL = new ActiveXObject("Excel.Application"); oXL.Visible = true; // Haal een nieuwe werkmap op. var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; // Voeg tabelkoppen toe, cel voor cel. oSheet.Cells(1, 1).Value = "Voornaam"; oSheet.Cells(1, 2).Value = "Achternaam"; oSheet.Cells(1, 3).Value = "Volledige naam"; oSheet.Cells(1, 4).Value = "Salaris"; // Maak A1:D1 op met vet als tekenstijl en gecentreerd als verticale uitlijning. oSheet.Range("A1", "D1").Font.Bold = true; oSheet.Range("A1", "D1").VerticalAlignment = -4108; //xlVAlignCenter // Maak een matrix om meerdere waarden tegelijk in te stellen.
    // Vul A2:B6 met een matrix met waarden (van VBScript). oSheet.Range("A2", "B6").Value = CreateNamesArray(); // Vul C2:C6 met een relatieve formule (=A2 & " " & B2). var oRng = oSheet.Range("C2", "C6"); oRng.Formula = "=A2 & \" \" & B2"; // Vul D2:D6 met een formule (=RAND()*100000) en pas een getalnotatie toe. oRng = oSheet.Range("D2", "D6"); oRng.Formula = "=RAND()*100000"; oRng.NumberFormat = "€0,00"; // Pas AutoAanpassen op kolommen A:D toe. oRng = oSheet.Range("A1", "D1"); oRng.EntireColumn.AutoFit(); // Bewerk een variabel aantal kolommen voor kwartaalomzetcijfers. DispalyQuarterlySales(oSheet); // Zorg ervoor dat Excel zichtbaar is en geef de gebruiker de controle // over de Excel-sessie. oXL.Visible = true; oXL.UserControl = true;} function DispalyQuarterlySales(oWS){ var iNumQtrs, sMsg, iRet;
    // Geef het aantal kwartalen op waarvoor cijfers worden weergegeven. iNumQtrs = 4; // Begin bij E1 en vul de koppen van het geselecteerde aantal kolommen. var oResizeRange = oWS.Range("E1", "E1").Resize(1,iNumQtrs); oResizeRange.Formula = "=\"Q\" & COLUMN()-4 & CHAR(10) & \"Omzet\""; // Wijzig de eigenschappen Orientation en WrapText voor de koppen. oResizeRange.Orientation = 38; oResizeRange.WrapText = true; // Geef de opvulkleur van de koppen op. oResizeRange.Interior.ColorIndex = 36; // Vul de kolommen met een formule en pas een getalnotatie toe. oResizeRange = oWS.Range("E2", "E6").Resize(5,iNumQtrs); oResizeRange.Formula = "=ASELECT()*100"; oResizeRange.NumberFormat = "€0,00"; // Pas randen op de cijfers en koppen van de kolommen 'Omzet' toe. oResizeRange = oWS.Range("E1", "E6").Resize(6,iNumQtrs); oResizeRange.Borders.Weight = 2; // xlThin // Voeg een formule voor het totaal van de omzetcijfers toe en pas een rand toe. oResizeRange = oWS.Range("E8", "E8").Resize(1,iNumQtrs); oResizeRange.Formula = "=SOM(E2:E6)"; // 9 = xlEdgeBottom oResizeRange.Borders(9).LineStyle = -4119; //xlDouble oResizeRange.Borders(9).Weight = 4; //xlThick // Voeg een grafiek voor de geselecteerde gegevens toe.
    oResizeRange = oWS.Range("E2:E6").Resize(5,iNumQtrs); var oChart = oWS.Parent.Charts.Add(); oChart.ChartWizard(oResizeRange, -4100, null, 2); // -4100 = xl3dColumn oChart.SeriesCollection(1).XValues = oWS.Range("A2", "A6"); for (iRet = 1; iRet <= iNumQtrs; iRet++) { oChart.SeriesCollection(iRet).Name = "=\"Q" + iRet + "\""; } oChart.Location(2, oWS.Name); // 2 = xlLocationAsObject // Verplaats de grafiek, zodat de cijfers niet worden bedekt. oWS.Shapes("Chart 1").Top = oWS.Rows(10).Top; oWS.Shapes("Chart 1").Left = oWS.Columns(2).Left;}</SCRIPT><P><INPUT id=button1 type=button value="Excel starten" onclick="AutomateExcel"></P></BODY></HTML>

  3. Sla het bestand op in de gewenste map met de bestandsnaam Excelaut.htm.
  4. Sluit Kladblok en start Internet Explorer.
  5. Typ C:\pad\excelaut.htm in de adresbalk, waarbij pad de map is waarin u het bestand hebt opgeslagen.
  6. Als het bestand in Internet Explorer wordt geladen, ziet u één zin en een knop. Wanneer u op de knop drukt, wordt Excel gestart op de clientcomputer en worden gegevens geladen.

Referenties

Dit artikel verschijnt parallel met andere artikelen waarin hetzelfde proces met andere programmeertalen wordt beschreven. Raadpleeg de volgende artikelen in de Microsoft Knowledge Base voor meer informatie:

219151Microsoft Excel automatiseren vanuit Visual Basic

179706MFC gebruiken om Excel te automatiseren en een nieuwe werkmap te maken/op te maken

219430Een Excel-werkmap maken en opmaken met Visual J++

231614Excel automatiseren om een nieuwe werkmap te maken vanuit Delphi

Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie over het automatiseren van Excel vanaf een HTML-pagina met VBScript:

198703Excel automatiseren met VBScript op de client

Ga voor meer informatie over Office Automation naar de site Office Development van Microsoft:

PrintPrint RSS reactiesRSS reacties BookmarkBookmark

Gekoppelde tags

ActiveX, Excel, Excel 2000, Excel 2002, Excel 2003, Excel 97, Internet Explorer, Kolommen, Office, Service Pack, Tabel, Visual Basic

Reacties
Nog geen reacties geplaatst.

Winkelmandje

Het winkelmandje is leeg

Inloggen
Als u hierboven op de knop 'bestellen' klikt krijgt u een overzicht van de door uw gewenste producten. Indien het overzicht compleet en correct is kunt via de wizard de verdere gegevens invullen en uw bestelling afronden. In het bestelproces kunt u altijd op 'vorige' drukken om terug te gaan in het proces. Bij Perrit staan vertrouwen, privacy en veiligheid op de eerste plaats, wij zullen uw gegevens dan ook met uiterste zorgvuldigheid behandelen en nooit doorgeven aan derden.

Perrit.nl Sherwood Rangers 29 Hengelo

Perrit.nl telefoon: +31 74 750 12 20

Kenniscentrum - Excel automatiseren met JScript vanaf een HTML-pagina
Perrit Kenniscentrum - Excel automatiseren met JScript vanaf een HTML-pagina