Newsgroup: it.comp.lang.visual-basic
Titolo: Differenze tra VBA e VB6

Sono un novizio della programmazione in ambiente
Visul Basic.
Vorrei sapere, per cortesia, quali siano le differenze
piu' importanti tra Visual Basic for Application e Visual
Basic 6.
grazie a chiunque mi risponda,

 ha scritto nel messaggio
news:5bdukssb0sgudh3ek...@4ax.com...


Il linguaggio è lo stesso, mentre il contorno cambia. Il VBA è solamente il
nocciolo del linguaggio, mentra il VB6 ha tutta una serie di estensioni per
creare exe ecc.
Il VBA è stato creato per dare la possibilità di inserire pezzi di codice
sui documenti Office e non solo, in modo da aumentare la potenza delle varie
applicazioni, affiancandosi alle macro per la personalizzazione spinta dei
documenti.
Da quello che ho potuto osservare dalle poche volte che ho scritto codice
con VBA su documenti Excel o su database Access, a parte qualche
leggerissima differenza di sintassi, VBA e VB5 sono identici.
Tieni presente che molte istruzioni o comandi che trovi in VB5 sono
estensioni e pertanto non è detto che le trovi anche su VBA
anche se dovrebbe essere possibile aggiungerle come estensioni anche sulle
applicazioni che usano il VBA.
Spero di averti chiarito qualcosina in più
Saluti
Maury


 e pertanto non è detto che le trovi anche su VBA anche se
dovrebbe essere possibile aggiungerle come estensioni anche
sulle applicazioni che usano il VBA.
Scusami, non capisco.
--
Ciao.
Maurizio

 wrote in message


 VBA è un linguaggio dedicato alle applicazioni MS, VB serve
per realizzare delle applicazioni ex-novo. Sostanzialmente la
struttura dei due linguaggi è la stessa, solo che la
conoscienza di VB non implica quella di VBA in quanto ogni
applicazione ha i suoi oggetti con relative proprietà e metodi
(e non credere a chi dice che ad esempio VBA per Excel è
uguale a VBA per Access, ognuno richiede uno studio a se).
Consiglierei di partire con lo studio di VB per poi passare al
VBA per una certa applicazione. Esistono anche dei volumi che
trattano il VBA come linguaggio a prescindere dalle
applicazioni, mostrando tutto quello che c'è in comune (poco
pratico). Se hai bisogno di approfondire l'argomento fammelo
sapere.
Mi sembra che si faccia confusione fra Visual Basic for
Applications e le librerie degli oggetti delle applicazioni
(<nome applicazione> n.n Object Library).
Sperando di risultare chiaro, faccio un esempio:
Se creo un nuovo progetto in Visual Basic (nel mio caso la
ver. 4.0 ma dovrebbe essere piu` o meno lo stesso per le
versioni successive) come minimo dovrei trovare fra i
"Riferimenti" quanto segue:
 . Proget1
 . Visual Basic For Applications
 . Visual Basic Objects And Procedures
Mentre un nuovo progetto in Excel (97) avrebbe questi
riferimenti:
 . VBAProject
 . Visual Basic For Applications
 . Microsoft Excel 8.0 Object Library
 . Microsoft Forms 2.0 Object Library
Quando affermi che la conoscenza di VB non implica quella di
VBA penso che tu ti voglia riferire piuttosto alla conoscenza
della libreria degli oggetti dell'applicazione particolare
(Access, AutoCAD, Excel, Outlook, PowerPoint, Project, Word...
cosa ho dimenticato?).
NON puoi scrivere un programma in VB senza conoscere VBA. Ma
forse non e` vero nemmeno questo. Basterebbe riuscire a
scrivere un programma che non faccia uso:
 . delle collezioni di oggetti;
 . delle costanti intrinseche;
 . delle funzioni di conversione;
 . delle funzioni per la gestione delle date;
 . delle funzioni per la gestione del sistema, delle cartelle
e dei file;
 . delle funzioni informative;
 . delle funzioni per interagire con gli oggetti, le
applicazioni ed il sistema;
 . delle funzioni per la gestione delle stringhe;
 . delle funzioni finanziarie e matematiche.
Comunque non dovresti poter eliminare dal progetto il
riferimento a VBA.
--
Ciao.
Maurizio

 Cioè le stesse librerie che aggiungi in VB5 le puoi
aggiungere anche in Access. Forse non proprio tutte ma molte
si.
Penso tutte. L'unico discriminante dovrebbe essere il possesso
di una licenza d'uso. Sbaglio?
--
Ciao.
Maurizio

 ha scritto nel messaggio
news:38380...@news.megasys.it...


  . delle funzioni finanziarie e matematiche.
Scusa, non riesco a seguirti, perchè attribuisci tutto ciò a VBA?
Tutte le discussioni che nascono su un NG, non hanno come intento quello di
offendere o di affermare la propria superiorità, quindi (mi riferisco a
Maury) non credo sia il caso di scusarsi  e di far pace solo perchè c'erano
delle opinioni diverse, se Maurizio può illuminarci ed aiutarci ad
esprimerci meglio, ben venga, ma senza chiedere scusa. Al massimo dicendogli
bravo. Volevo soltanto aggiungere che la risposta dei guru della MS alla
domanda "Quale è la differenza tra VBA e VB6 è la seguente: "Visual Basic is
a standalone tool for rapidly creating executable programs and software
components. VBA is an embeddable programming environment for automating and
customising the software that hosts it."
Ciao.


 Volevo soltanto aggiungere che la risposta dei guru della MS
alla domanda "Quale è la differenza tra VBA e VB6 è la
seguente: "Visual Basic is a standalone tool for rapidly
creating executable programs and software components. VBA is
an embeddable programming environment for automating and
customising the software that hosts it."
Traduco, come posso: "Visual Basic e` uno strumento autonomo
per creare in breve tempo (rapidamente? celermente? in fretta?
tirando via?) programmi eseguibili e componenti software. VBA
e` un ambiente di programmazione incorporabile per
automatizzare e personalizzare il software che lo ospita".
Appunto. VBA e` "ospitato" in VB. Non puoi scrivere programmi
in Visual Basic senza conoscere Visual Basic for Applications.
Giusto? O sbaglio?
--
Ciao.
Maurizio

 >


 Maury
Il vero problema č che utilizziamo un mezzo abbastanza primitivo per sperare
di poter comunicare sensazioni, io non ho colto il tuo spirito ed il senzo
ironico, Maurizio non ha colto il mio quando si parlava di dirgli "bravo".
Lungi da me l'idea di dire a qualcuno come comportarsi, ho espresso un mio
pensiero con l'dea di rendere meno "diplomatica" la discussione, tutto qui.
Tornando al nostro discorso, io sono dello stesso parere di Maurizio, ma
forse con un esempio riesco a spiegarmi meglio, consideriamo lo studio della
matematica e della fisica, il primo puň essere fine a se stesso, il secondo
no. Lo studio della fisica implica la conoscenza di strumenti matematici da
"applicare", mentre si puň passare anni a studiare il calcolo differenziale
senza applicarlo da nessuna parte. Ho diversi manuali di VB e VBA, tutti
quelli di VBA esordiscono con affermazioni del tipo "per il corretto
apprendimento degli argomenti trattati occorre avere una buona conoscenza di
argomenti quali: moduli di classe, cicli, matrici ecc."
I manuali di VB non richiedono alcuna conoscenza di base. Credo quindi che
un neofita possa tranquillamente affrontare i due argomenti in momenti
differenti, considerando il VB come la base da cui partire (da cui la
differenza tra VB e VBA), fino ad arrivare a capire un bel giorno che
avrebbe fatto meglio a studiare il C/C++.   :-))
Ciao.

 Il vero problema č che utilizziamo un mezzo abbastanza
primitivo per sperare di poter comunicare sensazioni,
Dissento. E nella maniera piu` assoluta, veh! Mica cosi` per
dissentire!...
"internet" non e` uno strumento primitivo. Semmai l'opposto.
La parola scritta neppure.
La lingua italiana neanche.
Forse primitivi siamo noi "strumentisti". ;-)
--
Ciao.
Maurizio