Previous topic

Pitono kaj ...

Next topic

Kiel ŝanĝi etikedojn de MP3 dosiero

Skriptado de Excel per la Pitono

Se oni uzas Excel-on kaj Pitonon, oni povas facile aŭtomatigi multajn aferojn eĉ ne konante VBA (VisualBasic for Applications).

  1. Funkciigu Excel-on.

  2. Funkciigu interpretilon de Pitono (ekz. IDLE)

  3. En ĝi skribu (sen >>>). Atentu la usklecon!

    >>> from win32com.client import Dispatch
    

    Kio ebligas uzon de skriptokapabloj de diversaj programoj de Vindozo (ankaŭ de Excel).

    >>> xlApp = Dispatch("Excel.Application")
    

    Kio kreas konekton al Excel programo.

    Note

    Se la programo ankoraŭ ne funkcias, tiu ĉi komando ĝin ekfunkciigos sed la programo mem ne estas videbla - oni devas ĝin tiam vidigi:

    >>> xlApp.Visible = 1
    

    Se oni ekfunkciigis Excel-on sen laborfolio, oni devas ĝin krei:

    >>> xlApp.Workbooks.Add()
    

    Note

    La nombro da aldonitaj laborfolioj NE dependas de agordoj de Excel - ĝi ĉiam estos nur unu.

  4. Nun oni povas ekz. skribi enhavon de iu ĉelo (ĉi-sube - en A1):

    >>> xlApp.ActiveSheet.Cells(1,1).Value = 'Pitono regas!'
    

    Aŭ en tutan aron de ĉeloj.

    >>> for i in range(10):
       xlApp.ActiveSheet.Cells(2,i+1).Value = 2*i
    

    Attention

    Excel kalkulas kolumnojn kaj vicojn komencante de 1, kaj Pitono - de 0, tial oni devas uzi i+1.

  5. Nun oni povas fini la laboron:

    >>> xlApp.ActiveWorkbook.Close(SaveChanges=0)
    

    Note

    Se oni volas konservi ŝanĝojn, uzu SaveChanges=1 kaj dum malfermado Excel demandos pri konservo, aŭ konservu dosieron mem.

    Kaj fermu Excel-on:

    >>> xlApp.Quit()
    

    Tamen, Excel plu restas en la komputila memoro. Por liberigi la memoron, oni devas forigi la objekton:

    >>> del xlApp
    

La originala teksto troveblas ĉe http://stackoverflow.com/questions/441758/driving-excel-from-python-in-windows