Microsoft Mathematics

Po tedenskem oddihu na smučišču je čas za opis zelo uporabnega orodja, ki se lepo integrira v Word, kar je tudi razlog, da ga na mojem blogu sploh omenjam.

Stvar je namreč v tem, da lahko s pomočjo Microsoft Mathematics orodja, ki ga MS ponuja povsem zastonj(!), izdelate zelo lepe grafe in jih vstavite oz. uvozite v vaš Wordov dokument.

Seveda pa omenjen program nikakor ni namenjen samo izdelavi lepih grafov, temveč je predvsem zelo uporabno orodje za vsakega srednješolca, lahko pa reši marsikatero težavo tudi na fakulteti, v kolikor slednja le ni preveč tehnično usmerjena.

A grafi seveda niso edin kar program zmore. Z njim namreč lahko:

  • Računate – obnaša se kot napreden kalkulator
  • Rešujete enačbe
  • Iščete odvode, integrale, limite….
  • Računate z matrikami
  • Računate s kompleksnimi števili
  • Rišete 2D in 3D grafe



Ah; da… na žalost pa tale kolaček ni v slovenskem jeziku, temveč bo potrebno poznati angleščino ali pa vsaj katerega izmed drugih “svetovnih” jezikov.

Add-in Express razvoj dodatka – dodatek je izdelan

V prejšnjih blogih sem prikazal:

In sedaj je čas, da namestitveno datoteko tudi zaženemo :)…

Po namestitvi, ki je klasična Windows instalacija, se na računalniku ne zgodi nič posebnega… dokler ne zaženemo katerega izmed Office programov. Naš dodatek smo razvili za Word, Excel in PowerPoint.

Če na mojem razvojem računalniku instaliram omenjen dodatek in zaženem MS Office 2007, dobim sledečo sliko, kjer se lepo vidijo trakovi z našim gumbom

Če zaženem katerega izmed programov MS Office 2010 (ki so celo v angleški različici) dobim trak z našim gumbom

In če isto datoteko instaliram na računalniku, kjer tečejo Okna XP in MS Office 2003, dobim novo Office 2003 orodno vrstico

In to je bistvo vsega… Razvijemo en dodatek in stvar magično teče na vseh-mogočih in nemogočih verzijah MS Pisarne… Božansko 🙂 🙂 …

Moje osebno mnenje o Add-in Express

Osebno menim, da je Add-in Express čudovit programski paket, ki neizmerno olajša razvoj Office dodatkov, predvsem se njegova moč pokaže, če morate razvijati dodatke za različne verzije MS Pisarne – v tem primeru gre za nepogrešljiv dodatek. Trenutno je njegova edina slaba stran dejstvo, da ne morete (vsaj ne dokaj preprosto) izdelati slovenske namestitvene datoteke – škoda(!) – upam da se bo to kmalu (tudi z mojo pomočjo) izboljšalo!

Add-in Express razvoj dodatka – Izdelava namestitvenega programa

Ko program izdelamo, ga je potrebno še zapakirati tako, da ga lahko uporabniki uporabijo. Tu pa se lahko stvari zakomplicirajo, saj je v primeru razvoja Office dodatkov potrebno pisati po registru in na različnih mestih dodajati in popravljati ključe…

Zato je najbolje, da izdelavo namestitvenega programa prepustimo kar Add-in Expressu. Ob tem imamo Slovenci trenutno problem, saj Add-in Expres ne zna izdelati poslovenjenega namestitvenega programa a upam, da se bomo lahko zmenili in uredili tudi to.

Iz priročnega menija našega projekta izberemo torej opcijo za izdelavo namestitvenega programa

in zažene se čarovnik, kjer v prvem koraku določimo osnovne elemente programa,

V drugem koraku pa ime namestitvene datoteke in lokalizacijo. Kot omenjeno slovenskega jezika zaenkrat ni možno izbrati 🙁 …

Ko čarovnik izvede svojo čarovnijo se nam v razvojnem okolju pojavi nov projekt.

Ko projekt prevedemo pa na disku – pričakovano – dobimo instalacijsko datoteko našega dodatka.

Add-in Express razvoj dodatka – Razvoj

Ko Add-in projekt pripravimo tako kot je opisano v prejšnjem blogu, nas pričaka pripravljen projekt in lahko pričnemo s pisanjem programske kode. Komunikacija z Office programi bo potekala preko modula AddinModule.cs, v katerem bomo Office okolje zvezali z našim programom.


V programskem delu modula nas čakajo že pripravljeni objekti za dostop do vseh programov, ki smo si jih izbrali pri pripravi projekta.

Če pa odpremo AddinModule.cs v vpoglednem načinu (design mode), pa se nam odpre prazna delovna površina na katero lahko dodajamo različne Office elemente, preko katerih bomo komunicirali s programi.

V testnem primeru se bomo z Office programi pogovarjali preko gumba na traku (Office 2007 in 2010) tre preko gumba na orodni vrstici (Office 2000, XP in 2003). Odziv na sam dogodek pa bo v obeh primerih enak.

Zgradimo torej orodno vrstico z gumbom za Office 2000, XP in 2003.

Ter ustrezen trak za Office 2007 in Office 2010.

Ker sta podpisa funkcij za odziv na klik gumba na traku in v orodni vrstici različna, se moramo odzvati na oba, a v njiju lahko kličemo isto funkcijo, ki bo pač naredila, tisto, kar želimo:

private void doClick()
{
System.Windows.Forms.MessageBox.Show("Pozdrav iz Add-in Express");
}

private void RibbonBtn_Click(object sender, AddinExpress.MSO.IRibbonControl control, bool pressed)
{
doClick();
}

private void CommandBarBtn_click(object sender)
{
doClick();
}

Ko projekt prevedemo, ga moramo obvezno tudi registrirati, kar lahko storimo kar znotraj VS.

Ker dodatek sam zase seveda ne more teči, moramo VS-u pred zagonom dodatka povedati, kateri program naj zažene ob testu dodatka. Slednje seveda določimo na lastnostih projekta, kjer definiramo program za zagon, kot je prikazano na spodnji sliki.

Sam sem izbral Excel in kar na razvojnem računalniku uporabljam Excel 2007 sem v traku dobil nov zavihek z gumbom.

Če gumb kliknem dobim pričakovan odziv.

Add-in Express razvoj dodatka – Priprava projekta

V prejšnjem blogu sem opisal programski paket Add-in Express, v tem blogu pa bom prikazal, kako izgleda razvoj takšnega MS Office dodatka.

Skozi pripravo projekta nas vodi čarovnik, ki pa ga moramo najprej zagnati. Ob ustvarjanju novega projekta v VS izberemo opcijo Other Project Types / Extensibility, pod katero se skrivajo vsi možni Add-in Express dodatki. Na vrhu določimo še .NET okolje, ki je lahko 2.0, 3.0, 3.5 ali 4.0. Osebno izbiram 2.0, saj imajo tako uporabniki najmanj problemov. .NET 2.0 je namreč bolj ali manj prisoten že na vseh Windows računalnikih.

V naslednjem koraku se odločimo za programski jezik ter verzijo Office produktov. Lahko izberemo specifično verzijo in s tem tudi vse njene prednosti/slabosti, lahko pa izberemo tki. neutralen projekt, s pomočjo katere lahko razvijamo dodatek, ki bo tekel na vseh verzijah Office-a.

V naslednjem koraku izberemo konkretne Office produkte, in kot rečeno so na voljo vsi. V mojem primeru sem izbral Excel, Word in PowerPoint.

In to je to; projekt je pripravljen

Add-in Express prvič

V dosedanjih blogih s tematiko programiranja za Office (Razvoj dodatkov za Excel in Razvoj Excelovih dodatkov v .NET okolju) sem se dotaknil manjše primerjave med različnimi možnostmi razvoja dodatkov v Excelu.

Danes pa se bom malce bolj posvetil programski opremi Add-in Express, ki je namenjena celostnemu razvoju programskih dodatkov za Office v okolju .NET.

Dosedaj sem ta produkt primerjal samo v povezavi z razvojem v Excelu, saj je to primarno področje delovanja mojega podjetja, a sem bil v tem primeru do njega krivičen. V tem blogu pa ga bom poskušal predstaviti malce bolj obširno.

Kaj je Add-in Express?

Add-in Expres je dodatek razvojnemu okolju Visual Studio, s pomočjo katerega poenostavimo razvoj dodatkov za Office. Prednost njegova prednost pred konkurenti pa je predvsem v fleksibilnosti in hitrosti razvoja

Razvojno okolje

Add-in Expres lahko uporabljate v vseh generacijah Visual Studia: VS 2005, VS 2008 in VS 2010. In tudi v vseh različicah, torej tako v VS Express, VS Professional, VS Ultimate in VS Team System.

Podprte različice Office-a

Podprte so vse različice Office-a od 2000 dalje; torej Office 2000, Office XP, Office 2003, Office 2007 in Office 2010.

Podprti programi

Podprti so vsi programi MS pisarne; torej Excel, Word, PowerPoint, Outlook, Visio…

Največja prednost, ki nam jo produkt ponudi pa je v dejstvu, da lahko za vse programe hkrati razvijam en sam dodatek, ki bo tekel na vseh programih. Torej situacija je sledeča:

Razvoj dodatkov za Excel

Ko razvijamo dodatke za Excel se prej ali slej srečamo s problemom vzdrževanja programske kode. Na izbiro imamo namreč kar nekaj različnih načinov in okolij za razvoj dodatkov.

Na eni strani imamo VBA, ki je vgrajen v večino Office produktov, na drugi strani imamo programski jezik C in WIN API ter COM, na tretji pa .NET tehnologijo in COM.

VBA

Vsekakor je se potrebno pred kakršnimkoli resnim razvojem za MS Office dodobra seznaniti z programskim jezikom VBA. Razvoj v VBA-ju je nekako najlažji izmed vseh načinov in ima mnogo prednosti:

VBA Prednosti

  • VBA bazira na programskem jeziku BASIC, ki je zelo preprost jezik
  • Zelo dobra podpora znotraj vseh Office programov
  • Vvečino problemov nam reši vgrajeno snemanje makrov – če želite kaj postoriti, začnete s snemanjem makra in ga nato razvijate dalje
  • VBA urejevalnik nam preko vgrajenega ‘InteliSence’-a aktivno in obilno pomaga pri programiranju.
  • Programska koda se ne prevaja, temveč interpretira, kar je za razvoj dobrodošlo, saj lahko programsko kod spreminjamo med razhroščevanjem programa (glej spodaj)

VBA Slabosti

  • Programska koda je zapakirana v posamezen dokument (Excelov XLS ali XLSM oz. XLA in XLAM) kar pomeni slab nadzor nad programsko kodo
  • Programske kode ni možno dajati v repozitorije programske kode
  • Otežena je souporaba kode v več projektih saj VBA ne pozna koncepta knjižnic
  • Programska koda se ne prevaja temveč interpretira (glej zgoraj), kar je lahko slabost, saj se ob prevajanju odkrijejo mnoge napake.
  • Preko VBA ne moremo storiti vsega – določene stvari lahko spreminjamo, popravljamo, dograjujemo samo preko knjižnic v C oz. C++ jezikih.

C / C++

Izmed vseh izbir je to najtežja pot, ki ima glede na naslednjo možnost, torej razvoj v .NET-u eno slabost in eno prednost

C / C++ prednosti

  • Najhitrejša koda in največja možnost nadzora nad načinom izvajanja

C / C++ slabosti

  • Zelo zapleten in dolgotrajen razvoj, slaba (zelo slaba!) literatura

.NET

Za razvoj v .NET-u pa imamo več možnosti, ki so prikazane spodaj.

.NET Prednosti

  • Možna uporaba knjižnic
  • Možna uporaba vseh znanj pridobljenih na področju –NET razvoja vključno z tisiči in tisoči objektov, ki so napisani zanj
  • Glede na prejšnjo točko seveda tudi preprosta možnost povezav do podatkovnih baz, spletnih storitev…
  • Popoln nadzor nad programsko kodo in možnost uporabe repozitorijev programske kode

.NET Slabosti

  • Neintuitivni razvoj
  • Težak dostop do ustrezne literature za dostop do Office automatization objektov

Pohitrimo Word

Ob oblikovanju diplomskih nalog se včasih srečam z nalogami, ki imajo velikoooo slik. Včasih celo toliko, da Wordova datoteka zasede po 20MB in komaj sede v poštni nabiralnik. A to ni problem, ki ga želim izpostaviti danes.

Problem dokumentov z veliko slikami, še bolj pa dokumentov z velikimi slikami, je v času njihovega nalaganja oz. času ga potrebujete da se po takšnem dokumentu sprehajate. Ko greste preko strani s slikami traja, da jih Word izriše in to zna biti moteče.

V kolikor ste se slik nagledali je uporabno, da v času urejanja teksta slike preprosto izklopite, in Word bo “magično” hitrejši. Torej Wordu zaukažete, naj slik ne prikazuje.

Word 2003

Izberite menu Orodja/Možnosti in odpre se vam novo okno, kjer se postavite na zavihek ‘Pogled’, ter tam VKLJUČITE opcijo ‘Ograde za slike’, ter IZKLJUČITE opcijo ‘Risbe’.

Word 2007 in naprej

Izberete Office gumb oz. zavihek Datoteka in tam gumb ‘Wordove možnosti‘ . Odpre se novo okno, kjer na levi strani izberite opcijo Dodatno in pod sekcijo ‘Prikaži vsebino dokumenta’ VKLJUČITE opcijo ‘Prikaži ograde slik’, ter IZKLJUČITE opcijo ‘Na zaslonu prikaži risbe in polja z besedilom’


Oblikovanje celic v Excelu – kode za datum in čas

V enem izmed prejšnjih prispevkov smo si ogledali kako lahko v Excelu definirate lasten izgled podatkov v celicah. V omenjenem prispevku pa smo se omejili samo na določanje oblike numeričnih podatkov.

Seveda pa pozna Excel tudi posebne kode za oblikovanje datumov in časov in v tem prispevku si bomo zatorej ogledali slednje.

Oblikovni znaki za datume in čase

Tabela oblikovnih znakov za datume:

Znak Pomen
m Izpiše mesec brez vodilne ničle, torej 1 do 12
mm Izpiše mesec z vodilno ničlo, torej 01 do 12
mmm Izpiše tričrkovno okrajšavo za mesec, torej jan do dec
mmmm
Izpiše ime meseca januar do december
d
Izpiše dan v mesecu brez vodilne ničle, torej 1 to 31
dd
Izpiše dan v mesecu z vodilno ničlo, torej 01 to 31
ddd
Izpiše tričrkovno okrajšavo za dan v tednu(!), torej pon do ned
dddd
Izpiše dan v tednu(!), torej ponedeljek do nedelja
yy
Izpiše dvomestno leto (torej brez 20 iz 19 spredaj)
yyyy
Izpiše vse 4 cifre v letu

Tabela oblikovnih znakov za čase:

Znak Pomen
s Sekunde brez vodilnih ničel 0 do 59
ss Sekunde z vodilnimi ničlami 00 do 59
m Minute brez vodilnih ničel 0 do 59
mm
Minute z vodilnimi ničlami 00 do 59
h
Ure brez vodilnih ničel 0 do 23
hh
Ure z vodilnimi ničlami 00 do 23

Primeri

Ker je razlaga suhoparna sem vam spet pripravil datoteko, kjer se lahko po mili volji igrate z nastavitvami … 🙂

<datoteka s primeri>

Oblikovanje celic v Excelu – kode za tekst

V enem izmed prejšnjih prispevkov smo si ogledali kako lahko v Excelu definirate lasten izgled podatkov v celicah. V omenjenem prispevku pa smo se omejili samo na določanje oblike numeričnih podatkov.

Seveda pa pozna Excel tudi posebne kode za oblikovanje teksta in v tem prispevku si bomo zatorej ogledali slednje.

Oblikovni znaki za besedilo

Tabela znakov za oblikovanje besedila:

Znak Pomen
$ + / – ( ) : presledek Ti znaki se izpišejo na mestu, kjer so zapisani
\<znak> Vsem preostalim znakom (torej znakom, ki niso napisani zgoraj) je potrebno dodati predpono \ ali pa jih zapreti med dvojna narekovaja, kot je prikazano spodaj
“besedilo” Izpiše se besedilo
*
Ta koda zapiše znak, ki ji sledi tolikokrat, da zapolni celotno širino celice (zelo uporabno!)
@ Izpiše vsebino kot tekst

Primeri

Ker je razlaga suhoparna sem vam spet pripravil datoteko, kjer se lahko po mili volji igrate z nastavitvami … 🙂

<datoteka s primeri>