2009-10-09 8 views
14

Wo finde ich hilfreiche Dokumentation für die VBA-Programmierung? etwas wie SitePoint für die HTML-Entwicklung. MSDN listet einfach auf und beschreibt die Funktionsweise und Eigenschaften/Methoden von Klassen, anstatt zu erklären, wofür sie verwendet werden oder wann sie verwendet werden.Dokumentation Ressource für Office VBA-Entwickler

Bücher sind auch willkommen.

Antwort

11

Ich habe mit Excel/VBA in den letzten zwei Jahren ein- und ausgeschaltet und waren sehr enttäuscht von der Qualität der grundlegenden Dokumentation. Die "Hilfe" -Datei ist fast wertlos. Die MSDN-Version der gleichen Sache ist besser, weil es bessere interne Links hat, aber immer noch ziemlich dünn. Hier sind einige Ressourcen, die ich hilfreich gefunden habe:

Schreiben Excel-Makros mit VBA, 2. Ausgabe von Steven Roman. 5-8 Kapitel haben eine anständige "Tour" der Sprache (können Sie Schnipsel in Google Books finden):

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

Der VB 6.0 Programmierhandbuch, die meist auch VBA gilt:

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

Es gibt auch verschiedene Excel "Guru" Berater Websites da draußen, die eine Menge Beispielmaterial haben. Viel davon ist Excel im Allgemeinen oder nicht-Programmierer, aber kann immer noch sehr nützlich für die Aufnahme von VBA im Allgemeinen sein. Zwei solche Seiten sind vor allem von Chuck Chip Pearson und Charles Williams:

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

http://www.decisionmodels.com/

Ich war über eine abfällige Bemerkung über geben, wie ich fand nie eine VBA-Sprache spec, aber ich dachte ich, es wieder und lo googeln würde und siehe, von gerade erst vor etwa einem Jahr:

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

T er könnte die Antworten auf einige Fragen enthalten, die ich nur durch Experimentieren gelöst habe, und die Ergebnisse als Komponententests kodieren ...

1

Beliebige bestimmte Objektmodelle, an denen Sie interessiert waren (Excel-Objektmodell, Zugriffsobjektmodell usw.) oder alle? Ich hatte eine Kopie von Excel 2003 VBA von Wrox, die ziemlich anständig war, sie haben updated it for Excel 2007 (obwohl ich nicht glaube, dass es einen Unterschied zwischen den Versionen 2003 und 2007 geben würde, da VBA vor Jahren gezogen wurde und es einen Push gab gehe zu VSTO).

Als eine allgemeine VBA-Referenz, sollten Sie am besten eine gute VB6-Ressource abholen, denn wenn ich mich richtig erinnere, ist VBA eine Teilmenge der VB6-Sprache. Etwas wie Professional Visual Basic 6 Programmers Reference wäre gut.

EDIT:

Die MSDN Visual Basic for Applications page sieht aus wie ein guter Ausgangspunkt für Ressourcen. Hier sind die Language References

+1

Ich weiß nicht über Objektmodelle, aber ich möchte mit Excel und eine Access-Datenbank und die Interaktion zwischen ihnen spielen .. –

+0

Ok, würde ich vorschlagen, die Sprachverweise herunterladen (kompilierte HTML Hilfedateien) und durch die Beispiele zu schauen, sie auszuprobieren. Sie sollten auch auf MDAC (Microsoft Data Access Components), insbesondere ADO schauen - http://msdn.microsoft.com/en-us/library/ms807642.aspx –

+1

Nun, ich ging durch MSDN aber von einem Java kommen Hintergrund Die Dokumentation kommt wie Kulturschock. Es ist, als ob ich bisher auf einem anderen Planeten gelebt hätte, ich kann die MSDN-Dokumentation einfach nicht verdauen, ich frage mich, ob es nur ich oder andere sind, die das gleiche Gefühl teilen ... –

1

Wenn Sie die MS-Dokumentation finden, besteht eine Möglichkeit darin, den Makrorecorder zu verwenden. Es erzeugt zwar keinen qualitativ hochwertigen Code, aber wenn Sie die Aktionen aufzeichnen, die Ihr Programm ausführen soll, und den Code, den es mit F1 generiert, auf einem beliebigen Objekt, das Sie genauer betrachten möchten, überprüfen, kann es ein guter Anfang sein.Sie müssen nur ein wenig gesunden Menschenverstand verwenden und den Makrocode danach aufräumen.

+0

Ja tatsächlich! Ich habe die gleiche Strategie wegen der Dokumentationsprobleme verwendet ... –

0

Ja, VBA und MSOffice-spezifische Dokumentation wurde in älteren Versionen der MSDN Library von "kaum mit Wert" geändert und ist jetzt vollständig unbrauchbar.

Irgendein Idiot entschied, dass es ein gutes Ding (TM) sein würde, Objekte, Methoden und Eigenschaften zu entkoppeln, stattdessen jedes als ein unabhängiges, eigenständiges Konzept behandelnd. In den guten alten Tagen konnten Sie eine Objektklasse nachschlagen (z. B. "Range" für Excel), auf einen Link für Eigenschaften oder Methoden klicken, um zu sehen, welche ps oder ms für diese Klasse unterstützt wurden und was sie speziell dafür getan haben Klasse.

Jetzt erhalten wir nur eine generische Beschreibung der Klasse, keine Verknüpfung zu ihren Eigenschaften und Methoden. Eigenschaften und Methoden sind alphabetisch als eigene generische Entität getrennt von den Objektklassen aufgeführt.

So, es gibt keine einfache Möglichkeit, beim Programmieren, wie Sie eine Objektklasse verwenden. Welche Methoden sind verfügbar? Welche Eigenschaften? Was machen Sie? Wir wissen nicht mehr ...