Hallo Danwe,
aller anfang ist schwer - nur nicht aufgeben/verzweifeln.
mir ging es z.b. so, das ich es immer "perfekt" machen wollte. so lernt man aber nicht - am besten du verfolgst zielstrebig dein ziel und versuchst irgendwie(hauptsache es funzt) es zu lösen. mit der zeit bekommst du dann den überblick.
zunächst sei zu vba gesagt:
vba ist visual basic (for applications)- d.h. du kannst vba fast so programmieren wie mit vb6(und visual studio)
fast jedes programm von microsoft hat einen vba-editor integriert. d.h. der allgemeine snytax ist gleich. die programmierbaren objekte unterscheiden sich jedoch von programm zu programm. so finde ich z.b. das word-vba im gegensatz zu excel sehr, nennen wir es schwach ist- weil du imho recht schnell an die grenzen des machbaren stösst- was aber nicht heissen soll, das man auch mit word-vba tolle sachen machen kann.
auch unterscheiden sich die vba-versionen der unterschiedlichen microsoft-programme z.b. in der programmierung der steuerelemente(listbox, combobox, label, usw) - wie access vba und excel-vba
zu deinen fragen - eine konstante ist ein konstanter wert, der nicht abgeändert werden kann.
dafür schreibst du bei der dimensionierung
const [variable]
eine variable instanzieren(dimensionieren) geht so
dim variable
wenn du nichts dahinter schreibst, wird diese als variant-variable instanziert. d.h. diese variable kann alle möglichen werte aufnehmen und verbraucht so auch 64k (glaube ich)
im normalfall weisst du ja, für was du eine variable brauchst- ob text oder zahlen dafür in frage kommen und dementsprechend dimensionierst du sie auch.
z.b.
dim lngZahl as long
(ich schreibe z.b. in den variablen-namen immer die abkürzung des variablen-tpys- indem fall "lng", damit ich an irgendeiner stelle im code weiß, was für ein typ es ist)
und mit const ist es nichts anderes
const lngzahl as long
ein long kann ganzzahlen aufnhemen. double bis zu 2 nachkommastellen, string textwerte, booelan nur falsch und wahr usw.
am besten du suchst mal nach einer übersicht
eine seite mit tutorial weis ich leider keine. mir hat damals ein excel-vba-buch sehr gut geholfen
isbn 3-8273-1525-5
mit klassen und modulen versucht vba in gewisser weise objekt-orientierung einzubauen.
d.h. du schreibst deinen code in eine klasse namens adresse
die adresse hat 2 stringvariablen, namens vorname und name
dann kann ich im modul oder dokument schreiben:
dim testklasse as new adresse
testklasse.vorname = "mustervorname"
testklasse.name = "mustername"
und dann
dim testklasse2 as new adresse
testklasse2.vorname = "test"
testklasse2.name = "test"
so ungefähr -- ich hoffe ich konnte dir etwas weiterhelfen -- ansonsten frag nochmal
viele grüße
rasta
Danwe schrieb am 06.10.2005 13:07:32:
Hi,
ich lerne momentan VBA mit dem ziel, MS Word sinnvoll erweitern zu können.
Ich lerne vor allem aus dem Buch Microsoft Word 97 Developer´s Kit. Das Buch ist von Microsoft und ich zweifle ein wenig daran.
Ich habe immer das gefühl, es wird sehr viel vorausgegriffen und an wichtigen stellen fehlen Beispiele, bzw sind diese nicht richtig erklärt. Das ist vor allem am Anfang recht schwer.
Zum beispiel habe ich gerade auf Seite 89-91 aufgeschlagen. Hier werden Konstanzen erklärt. Ich kapiere also, das man mit
Const NameDerKonstanze = Wert
eine Konstanze festlegen kann, um diesen Wert dann zu verwenden u. aufzurufen. In dem beispiel darauf habe ich dann
Const Limit As Long = 100
Was bedeutet das As Long??
Kennt wemand das Buch oder kann mir ein besseres empfehlen? Im mom habe ich den eindruck, VBA ist komplexer u. verwirrender als C++, das sollte ja aber nicht so sein. Wenn ich mir dagegeben mal mein C++ Buch anschaue, kapiere ich alles sehr gut.
Am Anfang des Buches wurde auf Module, Klassenmodule und die sonstigen Objekte eingegangen, alles habe ich mir hier auch nicht im Kopf behalten können. Gibt es eine Seite im Netz, wo man sehr schön erklärt kriegt, wie die Entwicklungsumgebung aufgebaut ist und worauf es ankommt?
Ich weis z.B. noch garnicht richtig wohin ich meinen Code schreiben muss (in ein Modul, ein Klassenmodul oder in das Dokument, oder ist das egal??).
MfG |