Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Audit !!!

Probeer onze RefTreeAnalyser
de beste Excel formule auditing tool.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > Excel Web App Mashups > Web formulier
This page in English

Webpaginas maken met Excel Web App mashups

De inhoud van web pagina besturingselementen in het Excel bestand plaatsen

Zou het niet handig zijn om een web formulier te kunnen maken waar gebruikers gegevens in kunnen voeren en vervolgens deze invoer te kunnen gebruiken om de Excel Web App wordt bijgewerkt met de inhoud van het web formulier. Hoe dat moet wordt hieronder beschreven.

Voeg een formulier in met enkele besturingselementen

Om gegevens uit een tekstvak in je Excel bestand te krijgen moet er natuurlijk eerst een formulier op je web pagina geplaatst worden. Deze HTML code is daarvoor nodig:

<form name="ChangeInput">
    Fase verschil (graden)&nbsp;
    <input name="Phase" size="18" style="width: 112px" />
    Frequentie verhouding&nbsp;
    <input name="Freq" size="18" style="width: 112px" />
    <input onclick="JavaScript:SetValuesInSheet();" type="button" value="Grafiek bijwerken" />
</form>

Zoals je kan zien, is het klik event van de knop ingesteld om de Javascript functie SetValuesInSheet aan te roepen.

Data in een cel invoeren

De SetValuesInSheet functie is relatief kort:

function SetValuesInSheet()
    {
    // Get a reference to where we need to write
    ewaCht.getActiveWorkbook().getRangeA1Async('b1:b2', getRangeA1Callback, null);
    }

Zoals je kan zien, vragen we eerst Ewa om een verwijzing naar het celbereik B1:B2 in het actieve werkblad. Dit gebeurt hier asynchroon, dus hebben we een call-back functie nodig: getRangeA1Callback. Hieronder weergegeven :

function getRangeA1Callback(asyncResult)
        {
        // getRangeA1Async returns a range object through the AsyncResult object.
        var range = asyncResult.getReturnValue();
        var values = new Array(2);
        values[0] = new Array(1);
        values[1] = new Array(1);
        var control = document.ChangeInput.Phase;
        values[0][0] = control.value;
        control = document.ChangeInput.Freq;
        values[1][0] = control.value;
        // Now send the array to the range.
        range.setValuesAsync(values,Dummy,null);
}

Als je de data naar een cel wil schrijven, heb je altijd een array nodig, zoals bovenstaande code toont.

Omdat setValuesAsync -wederom- asynchroon is, is er een callback noodzakelijk, waarvoor ik een lege functie genaamd Dummy (hier niet weergegeven) heb gebruikt. Dummy kan door "null" worden vervangen als je geen verdere acties nodig hebt.

Werkt dit nou? Bekijk de volgende pagina!


 


Vragen, suggesties en opmerkingen

Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: www.eileenslounge.com.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].