PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Vorkenntnisse brauche ich um VBA zu erlernen?


Rampage 2
2009-01-30, 04:28:22
Hi there,

Also ich habe mich entschlossen, das Microsoft Office 2007 System perfekt zu beherrschen; nachdem ich das geschafft habe will ich mich der Programmierung widmen. Aber erstmal Office. Daher muss ich die VBA-Programmierung erlernen, denn ich brauche es, um mit MS Excel und vor allem mit MS Access und anderen MS-Applikationen arbeiten zu können. Die eigentliche Frage ist: welche Vorkenntnisse brauche ich, um VBA lernen zu können? Muss ich etwa mit Visual Basic anfangen, oder reicht auch ein Buch über VBA oder geht es noch einfacher - also ohne VBA-Vorkenntnisse z.B. mit diesem Buch:

http://www.microsoft-press.de/product.asp?cat0=54&idx0=7&gr=b%FCcher&cat1=59&idx1=4&cnt=product&id=ms-5203&lng=0

Danke für Hilfe im voraus,

Thx, R2

samm
2009-01-30, 05:11:56
Da VBA in seinen Fähigkeiten ziemlich an die jeweilige Applikation gebunden ist (dh. Access und Excel kannst du verschiedene Sachen machen, die halt DB resp. Tabellenkalkulations-spezifisch sind), bringt es wohl nicht so viel, ein Access07-Buch zu kaufen. Zudem geht es da allgemein um Access DBs, da wird wohl VBA nicht das Hauptkapitel sein.

Um die grundlegenden Sprachkonstrukte zu verstehen, reicht es, sich ein wenig in VB auszukennen. Um dich in die Spezifika einzuarbeiten, gibt es je nach verwendeten Optionen sehr viel zu beachten (z.B. ADO und DAO in Access), deswegen würde ich entweder an einem konkreten Projekt arbeiten und diverse Tutorials konsultieren, oder aber in spezifische VBA-Literatur investieren. Hab ich jetzt noch nie gemacht und kann dir nix konkretes empfehlen...
Zudem kann es wichtig sein, dich um Zugriffe auf die Win-API zu kümmern, wobei man das eigentlich 1:1 wie mit dem alten VB machen kann. (Alt = prä-.NET).

Das ist so das bisschen, was ich darüber zu wissen meine. Habe aber selbst noch nie mit dem neuen Office gearbeitet und weiss deswegen nicht, ob meine Aussagen noch irgendeine Relevanz besitzen ;)

Rampage 2
2009-01-30, 05:48:56
Wie gesagt, ich brauche VBA nur für Office-Programme, sonst interressiert mich die Sprache nicht - ich bin, was Einsteigersprachen angeht, vor allem an Visual Basic.NET interressiert.

Aber soll das jetzt heißen, dass ein paar Bücher für Access und Excel nicht ausreichen, um diese Programme zu beherrschen?

DraconiX
2009-01-30, 09:44:34
Ja was nun... VBA oder VB.Net? Oder beides?

Wenn du im Grunde VB.Net beherrschst kannst du auch ohne weiteres VBA Scripten. Aber wie gesagt, ist nun schon ein Unterschied ob du nur für direkte Anwendungen programmierst oder aber Anwendungen selber schreibst.

Visual Basic ist schon eine schöne Sprache zum lernen. Für normale bis leicht komplexere Anwendungen ist VB durchaus sehr zu gebrauchen. Aber gerade bei Datenbankanwendungen läßt VB seine Stärken spielen. Dafür ist es halt auf Hardwareebene nicht zu gebrauchen - soll es ja auch nicht. Dafür gibt es ja C++.

Als ich damals VB gelernt habe... (noch zu VB3 Zeiten :D ) Gab es von Markt und Technik eine sehr gute Reihe (Visual Basic in 21 Tagen) - SEHR zu empfehlen für den Anfang. Aber ob es diese Reihe heute noch gibt weiß ich nicht.

Rampage 2
2009-01-30, 18:15:22
Ja was nun... VBA oder VB.Net? Oder beides?


Primär VB.NET. VBA brauche ich, wie gesagt nur für die Office-Programme.

Aber daraum geht es nicht. Ich würde vor allem gerne wissen, das oben gezeigte Buch ausreicht um mit Access arbeiten zu können?

Edit: Ich glaube, ich habe die Titelfrage falsch formuliert: Mir geht es primär daraum, wie ich Access, Excel und Co. beherrsche - nicht wie ich VBA perfekt beherrsche. Erstmal will ich das normale Arbeiten mit diesen Programmen lernen, daher die Frage mit dem Buch (siehe oben) - und wenn ich es dann noch besser machen will, könnt ihr mir ja bei VBA weiterhelfen.
Also jetzt richtig formuliert:

1.) Brauche ich unbedingt VBA, um mit Access, Excel etc. arbeiten zu können, oder kann ich mit diesen Programmen auch ohne VBA vernünftig arbeiten?

2.) Reichen Einstiegsbücher zu Excel, Access usw. (z.B. das Buch oben) aus, um das Arbeiten mit diesen Programmen zu erlernen?

Thx, R2

Monger
2009-01-30, 18:36:45
1.) Brauche ich unbedingt VBA, um mit Access, Excel etc. arbeiten zu können, oder kann ich mit diesen Programmen auch ohne VBA vernünftig arbeiten?

Was heißt "vernünftig"? Die Office Programme sind allesamt sehr, sehr mächtig. Je nachdem was für Schwerpunkte du hast, wirst du entweder gar nichts oder ziemlich viel mit VBA zu tun haben.
VBA dient nunmal in erster Linie dazu, bestimmte Abläufe die du wieder und wieder machst zu automatisieren. Wie häufig du das gebrauchen kannst, kann man pauschal nicht beantworten. Ich persönlich habs noch nie gebraucht, ein Kollege dagegen werkelt alle naslang mal damit rum.

2.) Reichen Einstiegsbücher zu Excel, Access usw. (z.B. das Buch oben) aus, um das Arbeiten mit diesen Programmen zu erlernen?

Ja. Das schöne an der Office Welt ist, dass die Einstiegshürde relativ gering ist. Die Tutorials sind auch ganz ordentlich, so gesehen kannst du auch schon ohne überhaupt je eine Anleitung - geschweige denn ein Buch - in der Hand gehabt zu haben, damit schon einiges machen.
Wenn du tatsächlich auch noch ein passendes Buch dazu in die Finger kriegst, bist du schon weiter als 90% aller Anwender.

Rampage 2
2009-01-30, 18:51:46
Was heißt "vernünftig"? Die Office Programme sind allesamt sehr, sehr mächtig. Je nachdem was für Schwerpunkte du hast, wirst du entweder gar nichts oder ziemlich viel mit VBA zu tun haben.
VBA dient nunmal in erster Linie dazu, bestimmte Abläufe die du wieder und wieder machst zu automatisieren. Wie häufig du das gebrauchen kannst, kann man pauschal nicht beantworten. Ich persönlich habs noch nie gebraucht, ein Kollege dagegen werkelt alle naslang mal damit rum.

Ja. Das schöne an der Office Welt ist, dass die Einstiegshürde relativ gering ist. Die Tutorials sind auch ganz ordentlich, so gesehen kannst du auch schon ohne überhaupt je eine Anleitung - geschweige denn ein Buch - in der Hand gehabt zu haben, damit schon einiges machen.
Wenn du tatsächlich auch noch ein passendes Buch dazu in die Finger kriegst, bist du schon weiter als 90% aller Anwender.

Danke für deine Antwort:)

Gut, das ist alles was ich wissen muss. Aber für den Fall, dass ich VBA doch brauchen sollte: Reicht ein Buch über VBA für das jeweilige Programm (also VBA-Buch für Access, VBA-Buch für Excel usw.) um VBA für das jeweilige Programm zu lernen oder reicht ein Buch für VBA-Programmierung nicht aus und ich muss zusätzlich Vorkenntnisse mit Visual Basic haben?

Monger
2009-01-30, 19:08:36
VBA ist vergleichsweise simpel.

VBA ist auch nicht für Entwickler gedacht, sondern für die... sagen wir mal... "technisch interessierte Tippse". Dementsprechend sind die Sprachfeatures sehr rudimentär.

VB.Net ist nicht nur viel, VIEL mächtiger, sondern etwas komplett anderes. Die Namensähnlichkeit ist historisch gewachsen, aber im Grunde völlig irreführend.

FlashBFE
2009-01-30, 19:27:22
Meine Meinung als langjähriger (und selbsterlernter) VBA und VB.NET Programmierer:

Kauf dir um Himmels Willen keine Bücher! Die einzige Literatur, die du brauchst, ist die in Office Integrierte VBA-Hilfe. Das ist das beste überhaupt an VBA.

Als Einstieg um die ganzen Objekte kennenzulernen ist es sehr praktisch, einfach den Makrorekorder laufen zu lassen, während du an den Objekten in Office rumspielst. Danach kannst du dir die erzeugte Prozedur angucken.

Man braucht aber kein VBA, nur um Office umfassend zu beherrschen. Das läuft sich sogar zuwider:
Entweder du benutzt die ganze Mathematik in den Excelzellen mit Zellverknüpfungen und Formeln usw. oder du programmierst alles in VBA. Ein Vermischen ist auch möglich, aber nicht zu empfehlen, weil es erstens unübersichtlich und nichtmehr perfomant ist.
In Access ist es genau das Gleiche. Man kann fast alles über die Oberfläche machen, in SQL stored procedures schreiben und was weiß ich alles. VBA ist da selten nötig.

Und wenn du eh VB.NET hauptsächlich benutzen willst, kannst du dir das VBA gedöns auch ganz sparen, denn es ist sehr leicht und funktioniert auch nicht viel anders wenn du mit .NET direkt Office automatisierst.

FlashBFE
2009-01-30, 19:34:25
VBA ist auch nicht für Entwickler gedacht, sondern für die... sagen wir mal... "technisch interessierte Tippse". Dementsprechend sind die Sprachfeatures sehr rudimentär.

Haaalt, da muss ich nochmal schnell eine Lanze brechen. ;)
Ja VBA ist eine prozedurale Programmiersprache, die nur nebenbei noch ein paar Office-Objekte mitbenutzt. Aber gerade als Entwickler hat man den riesigen Vorteil, dass sehr schnell ein Ergebnis erzielbar ist und man sich (mit Excel) keine Gedanken um E/A machen muss. Du glaubst garnicht, was bei uns in der Firma alles für physikalische Simulationsprogramme in VBA geschrieben sind, einfach weil es schneller zu proggen ging.

Monger
2009-01-30, 19:45:40
Du glaubst garnicht, was bei uns in der Firma alles für physikalische Simulationsprogramme in VBA geschrieben sind, einfach weil es schneller zu proggen ging.
Das war auch von mir nicht ganz ernst gemeint! :D

VBA finde ich halt, ist SEHR speziell. Sprich: bestimmte Aufgaben dafür gehen rasend schnell, anderes wiederum ist mit vertretbarem Aufwand überhaupt nicht machbar.
Es ist halt eine Nischensprache - allerdings eine ungeheuer erfolgreiche.

Rampage 2
2009-01-30, 20:54:26
Das war auch von mir nicht ganz ernst gemeint! :D

VBA finde ich halt, ist SEHR speziell. Sprich: bestimmte Aufgaben dafür gehen rasend schnell, anderes wiederum ist mit vertretbarem Aufwand überhaupt nicht machbar.
Es ist halt eine Nischensprache - allerdings eine ungeheuer erfolgreiche.

Gut, dann werden die Microsoft Bücher für Excel, Access usw. reichen. Kann man MS Office 2007 überhaupt mit .NET programmieren? Und ist damit auch eine objektorientierte Programmierung von Office möglich?

Monger
2009-01-30, 21:23:14
Gut, dann werden die Microsoft Bücher für Excel, Access usw. reichen. Kann man MS Office 2007 überhaupt mit .NET programmieren? Und ist damit auch eine objektorientierte Programmierung von Office möglich?
Jedes Microsoft Produkt ist als COM Komponente grundsätzlich auch mal programmatisch ansprechbar - mitunter sogar ziemlich komfortabel. Nicht gerade wenige Firmen verdienen ihr Geld damit, das normale Office Paket mit maßgeschneiderten Plugins auszubauen.
Ich hab auch mit VB.NET ein paar Sachen geschrieben wo Daten in Excel abgefüllt werden... dabei ist es relativ egal ob 2003 oder 2007, an der API hat sich da wenig geändert.

Das ist aber trotzdem ein ganz anderes Arbeiten als mit VBA. Das eine hat mit dem anderen praktisch nichts zu tun. Das eine ist eher aus der Sicht des Anwenders, dem halt eine etwas mächtigere Toolbar in die Hand gedrückt wird. Das andere ist aus Entwicklersicht, wie man Office in andere Software integrieren kann.