Hallo,
zu 1) wenn du VBA lernen willst dann geht das nur Schritt für Schritt. Nimm dir am besten den Objektkatalog her, schaue, welche Eigenschaften und Methoden bestimmte Objekte bieten, und schaue dir Beispielcodes an, die ebendiese Eigenschaften und Methoden verwenden. So habe ich das damals gemacht und habe mich anhand der Excel-VBA-Hilfe (heute online zu finden) durch die mich interessierenden Themen gearbeitet. Mit jedem Beispielcode entdeckt man dann neue Funktionen die einen auch wieder interessieren. Du kannst natürlich auch Fachliteratur verwenden. Die zeigen dir den Aufbau von Grund auf. Aber Alles wirst du da nicht lernen. Am besten du fragst in Foren wie hier wenn du etwas nicht verstehst. Wir können dir gern weiterhelfen.
zu 2) Ja und nein. Man kann zwar Objekte selbst definierter Klassen erzeugen. Aber soweit bist du noch lange nicht. Schlag dir das vorerst aus dem Kopf. Einfacher ist es bestehende Objekte, die von der jeweiligen Application mitgeliefert werden über Set an eine Variable zu geben. Damit hast du dann auch ein Objekt mit dem du besser arbeiten kannst. Wichtig ist dass du bei der Zuweisung von Objekten an Variablen das Schlüsselwort Set immer angeben musst.
in Excel VBA z.B. Set myRange = Range("A1")
Der Sinn von VBA ist ja grade der, dass diese Objekte bereits vorgegeben werden, sodass man direkt mit diesen arbeiten kann. Da muss nichts neu erzeugt werden.
zu 3) wo ist das Problem? Narlich kannst du das auch in seine Sub oder Function auslagern. In Word z.B. so.
Sub Test
set Myparagraph = ErstelleObjekt(ActiveDocument.Paragraphs(1))
end sub
Function erstelleObjekt(ByVal p as Paragraph) as Paragraph 'oder As Object
Set erstelleObjekt = p
End Function
ungetestet.
Gruß Mr. K.
|