2009-10-09 5 views
14

Dove trovo documentazione utile per la programmazione VBA? qualcosa come SitePoint per lo sviluppo HTML. MSDN elenca semplicemente e descrive l'operazione e le proprietà/metodi delle classi invece di spiegare a cosa servono, o quando utilizzarle.Risorsa documentazione per gli sviluppatori VBA di Office

Anche i libri sono benvenuti.

risposta

11

Ho lavorato con Excel/VBA negli ultimi due anni e sono rimasto molto deluso dalla qualità della documentazione di base. Il file "aiuto" è quasi inutile. La versione MSDN della stessa cosa è migliore perché ha collegamenti interni migliori, ma ancora piuttosto sottili. Ecco alcune risorse che ho trovato utili:

Scrittura di macro di Excel con VBA, 2a edizione di Steven Roman. I capitoli 5-8 hanno un "tour" discreta della lingua (si possono trovare gli snippet di Google Books):

http://www.amazon.com/Writing-Excel-Macros-VBA-2nd/dp/0596003595#noop

VB 6.0 Guida per il programmatore, che si applica in gran parte anche a VBA:

http://msdn.microsoft.com/en-us/library/aa716285(VS.60).aspx

Ci sono anche vari siti Web di consulenti "guru" di Excel che hanno un sacco di materiale di esempio. Gran parte di esso è lanciato in Excel in generale o ai non programmatori, ma può comunque essere abbastanza utile per la raccolta di VBA in generale. Due di questi siti, in particolare, sono da Chuck Chip Pearson e Charles Williams:

http://www.cpearson.com/excel/mainpage.aspx

http://www.decisionmodels.com/

Stavo per scrivere un commento denigratorio su come non ho mai trovato una lingua specifica VBA, ma io pensato che avrei Google di nuovo ed ecco, da appena un anno fa:

http://msdn.microsoft.com/en-us/library/dd361851(PROT.10).aspx

T la sua potrebbe contenere le risposte ad alcune domande che ho risolto solo sperimentando e codificando i risultati come unit test ...

1

Eventuali modelli di oggetti a cui si era interessati (modello di oggetti Excel, modello di oggetti di accesso, ecc.) O tutti? Avevo una copia di VBA Excel 2003 da Wrox che era abbastanza decente, hanno updated it for Excel 2007 (anche se non credo che ci sarebbe stata una differenza tra le versioni 2003 e 2007 poiché l'estensione di VBA è stata tirata anni fa e c'era una spinta a passare a VSTO).

Come riferimento VBA generale, sarebbe meglio raccogliere una buona risorsa VB6, poiché se ricordo correttamente, VBA è un sottoinsieme del linguaggio VB6. Qualcosa come Professional Visual Basic 6 Programmers Reference sarebbe buono.

EDIT:

Il MSDN Visual Basic for Applications page sembra un buon punto di partenza per le risorse. Ecco lo Language References

+1

Non conosco i modelli di oggetti ma voglio giocare con Excel e un database di accesso e l'interazione tra di loro .. –

+0

Ok, vorrei suggerire di scaricare i riferimenti di lingua (HTML compilato help files) e guardando attraverso gli esempi, provandoli. Dovrai anche esaminare MDAC (Microsoft Data Access Components), in particolare ADO - http://msdn.microsoft.com/en-us/library/ms807642.aspx –

+1

Beh, stavo andando attraverso MSDN ma provenendo da un Java sfondo la documentazione arriva come uno shock culturale. È come se avessi vissuto su un altro pianeta finora, non riesco proprio a digerire la documentazione MSDN, mi chiedo se è solo io o ci sono altri che condividono la stessa sensazione ... –

1

Se si trova la documentazione MS, un approccio consiste nell'utilizzare il registratore di macro. Non genererà codice di alta qualità, ma se registri le azioni che vuoi che il tuo programma esegua e rivedi il codice che genera usando F1 su qualsiasi oggetto che vuoi approfondire, può essere un buon inizio.Devi solo usare un po 'di buon senso e ripulire il codice macro dopo.

+0

Sì, certo! Stavo usando la stessa strategia a causa dei problemi di documentazione ... –

0

Sì, la documentazione specifica di VBA e MSOffice è passata da appena con il valore nelle versioni precedenti di MSDN Library, a uno shite completamente inutilizzabile.

Qualche idiota ha deciso che sarebbe stata UNA BUONA COSE (TM) disaccoppiare oggetti, metodi e proprietà, trattandoli invece come un concetto autonomo indipendente. Nei buoni vecchi giorni, si poteva cercare una classe di oggetti (ad esempio, 'Intervallo' per Excel), fare clic su un collegamento per Proprietà o Metodi per vedere quali p o m sono stati supportati per quella classe e cosa hanno fatto specificamente per quella classe classe.

Ora, tutto ciò che otteniamo è una descrizione generica della classe, nessun collegamento alle sue proprietà e metodi. Proprietà e metodi sono elencati in ordine alfabetico come propria entità generica, separata dalle classi dell'oggetto.

Quindi, non è semplice, durante la programmazione, scoprire come USARE una classe di oggetti. Quali metodi sono disponibili? Quali proprietà? Cosa fanno? Non sappiamo più ...