Můžeš C# jak už kolega výše zmínil. Hledej VSTO. Ale je to docela opruz, protože to je jen wrapper nad COM objekty, takže třeba Watch window nefunguje při debugování a asi se toho nejde víc.
Presne tak. Po C# excel kod je potreba napsad kod nejdriv v vba, odzkouset a potom ho prepsat do C# (volani COM objektu je vicemene stejne jako ve vba). Vyplati se to jen, pokud je komunikace s excelem podruzna vec a cela hlavni logika je napsana v c#. Treba na export dat do excelu. Pripadne jako jednotne klikatko spoustejici ruzna mala excel makra.
Jak tohle muze nekdo napsat. Je nesmysl nejdriv psat vba a pak z toho delat c#. Rovnou pises c# neni na tom nic zazracneho
Pokud ti nevoni vba tak to vsechno pis v C# nebo VB. Udelej si bud konzolovku nebo rovnou jednoduchy winform a pokud chces byt dobrodruznejsi tak wpf appku.
Inspiruj se treba tim ze si makro nahrajes v excelu, tim ze si to naklikas ruco, aby si mel predstavu jake objekty pouzivas a pak si z toho postav vlastni logiku.
Jen nepouzivej v zadnem pripade to co ti nahraje makro. Dela tam spoustu veci pres selecty a to je naprosto zbytecny a super pomale. Navic se to muze chovat nepredvidatelne.
Postup je snadny
pozijes visual studio community
zalozis treba winform na frameworku 4.8
Nareferencujes si excel knihovnu
Vytvoris nebo chytnes com object excelu (ve VB je to GetObject(Class:=“Excel.Application”))
A stav svoji logiku
Pak to dej na tlacitko
Vyhody - mas kvalitni debug, naseptavani a prace s objekty excelu pokud nejsi lem… a nepouzivas late binding, hezky barevne odliseni v kodu a mnoho dalsich vyhod moderniho ide oproti vba ide.
Samozrejme si to vsechno muzes vymyslet do dll kterou volas z vba, ale na to uz potrebujes lepsi schopnosti.
Jen tak mimochodem i v tom vba ide se daji psat komplexni procesy na 20 000 radku a neni to tragedie.
Vyhody oproti manipulaci pres com je asi v deseti nasobne rychlosti operaci a to je nekdy pokud mas nekolika minutove operace vyhra oproti programu co excel ovlada pres com.
Muzes to i kombit ze c# vygeneruje vbascript a ten spustis z excelu a taky to pekne frci 🙂
Tech cest je spousty …