Excel-taulukon muuttaminen HTML-taulukoksi
Usein tulee vastaan tilanne, jossa tarvittaisiin muuttaa Excel-taulukon tiedot kätevästi osaksi HTML-dokumenttia. Excel-taulukon muuttaminen HTML-taulukoksi on kuitenkin kohtuullisen työlästä. Työkirjan voi esimerkiksi tallentaa HTML-muotoon, mutta tallentaminen antaa kohtuullisen epäselvän lopputuloksen, jonka toimivuus kaikilla selaimilla ei edes ole varmaa. Maailmalta löytyy muutamia työkaluja HTML-taulukon tekemiseksi, mutta niissä on omat rajoitteensa. Tämän vuoksi työkalu tulee tehtyä usein itse. Seuraavassa on esitelty itse toteutetun VBA-taulukkotyökalun toimintaa ja käyttöä.
Varoitukset ja lisenssiehdot
- Työkalu on toteutettu Excel 2000:tta varten ja sen toimintaa ei ole kokeiltu muissa Excelin versioissa. Jos kokeilet työkalua jossakin muussa Excelin versiossa, niin kerro kokemuksistasi työkalun tekijälle.
- Tutki työkalun toiminta huolellisesti ennen käyttämistä! WWW:stä ei kannata ottaa yhtään sellaista työkalua käyttöönsä, jonka toimintaa ei ymmärrä!
- Työkalusta voi löytyä pieniä virheitä, joita testauksessa ei ole löydetty, mutta työkalun tekijä ei ole tehnyt virheitä tahallaan. Jos havaitset työkalun toimivan väärin tai sinulla on jokin kehitysajatus, niin ilmoita ihmeessä asiasta Petri Heinoselle (peheinon@mit.jyu.fi)!
- Työkalua saa käyttää tai muuttaa kuka tahansa! Jos kehität työkalua paremmaksi tai löydät siitä kehittämistä, niin ilmoita ihmeessä myös työkalun tekijälle.
Työkalun käyttöönotto ja käyttö
Seuraavassa lyhyet ohjeet työkalun käyttöönotosta, joka muuttaa helposti Excel-taulukon HTML-taulukoksi.
- Tallenna PERSONAL.XLS-tiedosto hakemistoon, jonka tiedostot avataan automaattisesti
Excelin käynnistysessä. Jos sinulta löytyy PERSONAL.XLS-niminen tiedosto, niin tallenna tiedosto jollekin toiselle nimelle.
- Agoran mikroluokissa hakemisto on C:\Documents and Settings\käyttäjätunnuksesi.AGORANET\Application Data\Microsoft\Excel\XLSTART\.
- Hakemisto on yleensä nimetty nimelle XLSTART, joten sen voi etsiä etsintätyökalun avulla kovalevyltä.
- Tämän jälkeen tiedosto on automaattisesti käytössäsi aina kun avaat Excelin. Tiedosto on yleensä piilotettu, joten sen saat tarvittaessa näkyville valikkokomennolla Window | Unhide. Käyttäessäsi työkalua tiedoston ei tarvitse olla näkyvillä.
- Tallenna muutkin usein käyttämäsi makrot tai VBA-työkalut PERSONAL.XLS-tiedostoon.
Seuraavassa lyhyet ohjeet työkalun käytöstä.
- Valitse Excel-laskentataulukosta alue, jonka haluat muuttaa HTML-taulukoksi.
- Alueen ylimmästä rivistä tulee automaattisesti HTML-taulukon otsikkorivi eli siinä käytetään th-elementtiä.
- Paina CTRL-SHIFT-C, jolloin valitusta alueesta tehdään HTML-taulukko uudelle laskentalomakkeelle ja tehty taulukko kopioidaan automaattisesti leikepöydälle.
- Liitä valittu alue leikepöydältä HTML-dokumenttiin.
Työkalun lähdekoodi
Seuraavassa on edellä esitellyn työkalun lähdekoodi. Toinen tapa työkalu käyttöönottoon on kopioida työkalun lähdekoodi Excelin VBA-editoriin. Editorin saa helpoiten auki oikeaan paikkaan valikkokomennolla Tools | Macro | Macros avautuvasta ikkunasta. Macro name -kohtaan kirjoitetaan makron nimi taulukko ja valitaan komento Create. Tämän jälkeen ollaan Visual Basic -editorissa, jonne tulleet kaksi riviä voidaan korvata työkalun lähdekoodilla. Makron tallentamisen kohteeksi (engl. Macros in) kannattaa valita Personal.xls, jolloin makro on käytössäsi jokaisessa työkirjassa.
Työkalun käyttäminen onnistuu tällöin valikkokomennolla Tools | Macro | Macros avautuvasta ikkunasta. Tämän jälkeen valitaan aktiiviseksi taulukko-makro ja suoritetaan se komennolla Run. Jos työkaluun halutaan liittää pikanäppäin, niin se on tehtävä makroon liittyvistä lisäominaisuuksista (engl. Options).
Sub taulukko() ' Petri Heinonen 20.02.2002 ' Tämä ohjelma tekee Excel-taulukosta HTML-taulukon ' Alustetaan tarvittavat muuttujat Dim arvo As String Dim i As Integer Dim j As Integer Dim rivilkm As Integer Dim sarakelkm As Integer Dim uusinimi As String Dim nimi As String ' Otetaan talteen aktiivisen lomakkeen nimi nimi = ActiveSheet.Name ' Määritellään aktiivisen alueenb rivien lukumäärä rivilkm = Selection.Rows.Count ' Määritellään aktiivisen alueen sarakkeiden lukumäärä sarakelkm = Selection.Columns.Count ' Lisätään uusi lomake Sheets.Add ' Otetaan uuden lomakkeen nimi talteen uusinimi = ActiveSheet.Name ' Aktivoidaan vanha lomake Sheets(nimi).Activate ' Aletaan varsinaisen taulukon muodostaminen Worksheets(uusinimi).Cells(1, 1).Value = "<table>" For i = 1 To rivilkm ' Aloitetaan uusi rivi Worksheets(uusinimi).Cells(i + 1, 1).Value = "<tr>" For j = 1 To sarakelkm ' Luetaan alkuperäisen taulukon solu arvo = Selection.Cells(i, j).Value If i = 1 Then ' Taulukon otsikkotiedot ensimmäiselle riville arvo = "<th>" + arvo + "</th>" Else ' Taulukon datat muille riveille arvo = "<td>" + arvo + "</td>" End If ' Sijoitetaan muutetut solun tiedot uuteen taulukkoon Worksheets(uusinimi).Cells(i + 1, j + 1).Value = arvo Next j Worksheets(uusinimi).Cells(i + 1, j + 1).Value = "</tr>" Next i Worksheets(uusinimi).Cells(i + 1, 1).Value = "</table>" ' Aktivoidaan lomake, jolla on muodostunut taulukko Sheets(uusinimi).Activate Range(Cells(1, 1), Cells(i + 1, j + 1)).Copy End Sub
Käyttäjien kommentit