Il blog di Gianni Giaccaglini

Blog su VBA e VSTO
Gianni Giaccaglini

My Links

News

NB - V. anche gli ARTICOLI (in fondo a questa barra)
Solo quesiti validi a: giannigiac@tin.it
Il mio Best seller su VBA
(v. www.hoepli.it)


Il mio ultimo libro su Open XML
(v. www.FAG.it):



La mia nipotina ELISA

Foto con dedica a ME di
Bill Gates giovanissimo
nei mitici anni 80!

Categorie Post

Categorie Articoli

Archivio

Immagini

Blog Stats

Cosa hanno in comune VBA, VSTO e VB ?

La risposta è semplice: quasi tutto. Ovvero, in senso più tecnico, il MODELLO A OGGETTI dei diversi mondi di Microsoft Office: Word, Excel, Outlook ecc., nonché lo stesso Office e altre cose come ADO o ADO .NET (v. più avanti). Con tutte le proprietà e metodi di pertinenza di ciascun oggetto (Si tratta dell'OOP, bellezza!).

Questo post...icino è rivolto ai principianti, che fanno molta confusione in merito. Ma, se mi è permessa una battuta bonaria, anche qualche esperto contribuisce. Ad esempio in qualche post mi capita di leggere routine molto, ma molto banali (come esplorare con delle MsgBox, nientemeno!, le celle di un intervallo Excel 3 x 2) dall'interno dell'add-in di VB .NET Visual Studio Tools per Office (VSTO). Troppa grazia? Giudichi ognuno. Sta di fatto che il codice base, relativo, nell'esempio accennato, è del tipo seguente:

For Each MiaRiga In Range("Mia Zona")

For Each MiaCella In MiaRiga

  MsgBox .Address(false, False) & VbLF & .Value

Next MiaCella 

Next MiaRiga

Questo è solo un post. Ultrarapido. Pertanto mi limito a segnalare, a buoni intenditori e a futura memoria dei principianti, dove, oggi come oggi, si può sfruttare l'"essenziale" del codice macro di Office & C.:

  • macro VBA, incorporate nei vari documenti (.XLS, .DOC ecc.)
  • macro VSTO create in ambiente VB.NET che si traducono, alla fine della fiera, in precise DLL esterne ai predetti documenti privi di macro classiche, ma che agiscono ugualmente nell'ombra (in background);
  • richiami tramite OLE AUTOMATION (informarsi, chi non conoscesse tale tecnologia) delle varie librerie "a oggetti" dall'interno sia di un documento Office (macro VBA o, volendo, VSTO), sia da un'applicazione chiusa (.EXE) sviluppata con VB .NET o, persino, l'ancor vivo VB 6.0.

In TUTTI questi casi occorre che Office sia installata nel PC dell'utente (Office 2003 o successiva, coi VSTO).

Concludo precisando che tra VBA e VSTO non mancano differenze. Anzitutto i VSTO garantiscono un elevato livello di security, specie in ambienti distribuiti. Sul piano sostanziale, le marce in più sono, soprattutto il supporto del C# (ma le macro in tale linguaggio hanno solo difformità sintattiche rispetto a quelle VB) e l'accesso a database tramite ADO .NET.

Meditate, gente, meditate... E studiate (se ne avete tempo).

 

?>

posted on lunedì 30 gennaio 2006 12.14