' schrieb:Aber gerne, wenn es dir keine Mühe bereitet kannst du es mir gern mal erklären.
Ich will es mal versuchen...
' schrieb:Hab schon über all in der LV Hilfe geschaut aber nix brauchbares gefunden, ok also Word wäre die Lösung gewesen.
Dazu kannst du in der LV Hilfe auch nichts finden, da die Parameter die du einer MSOffice Funktion/Methode übergibst nunmal Sache von MS ist. Daher steht es dann auch dort in der Hilfe.
' schrieb:Wie finde ich denn so was raus? Währe da nicht mal auf die Idee gekommen.
Du musst immer an der Quelle nach Informationen suchen. Willst du per ActiveX auf VBA Funktionen von Word zugreifen, schaust du in der VBA Hilfe was für Einstellungen/Parameter ect.pp. du dazu brauchst.
' schrieb:Wie lang machst du schon LV?
Oder muß man da einfach mal richtig Erfahrung in LV haben um das Gespür zu entwickeln...
LV läuft bei mir eigentlich nur nebenbei. Angefangen mich mit LV auseinanderzusetzen hab ich glaub ich Ende 2008. Aber gerade diese Spielereien mit ActiveX und MS-Office fallen mir leicht, da ich schon lange mit VBA programmiere. Im Normalfall benutzte ich zwar nur Excel aber Word unterscheidet sich da nur in den Objekten/Funktionen/Methoden die anwendungsspezifisch sind. Die Basics sind alle gleich, die Vorgehensweisen meistens auch.
So und jetzt ein kurzes "How to VBA Konstanten finden"
Wenn du etwas per LV in einem der Office Produkte beeinflussen willst, überleg dir zuerst wie du es per Hand realisieren würdes.
Konkretes Beispiel... Am Ende des geöffneten Dokumentes ein weiteres Dokument anfügen:
In Word öffnest du ein Dokument.
Dann drückst du [Strg]+[Ende]. Damit kommst du ganz ans Ende des Dokumentes.
Im Menü "Einfügen" wählst du "Manueller Umbruch" und "Seitenumbruch".
Danach "Einfügen" und "Datei". Die ausgewählte Datei wird an der Positionsmarke (haben wir ja ans Ende gesetzt) eingefügt.
So und jetzt machst du das Ganze nochmal, aber vorher aktivierst du das Aufzeichnen von Makros im Menü "Extras".
Wenn du jetzt [Alt]-[F11] drückst, öffnet sich der VBA-Editor und du kannst das aufgezeichenete Makro anschauen.
Dort siehst du dann etwas in der Art:
Code:
Selection.EndKey Unit:=wdStory
Selection.InsertBreak Type:=wdPageBreak
Selection.InsertFile FileName:="blablabla...
Du siehst das die Methode .EndKey die Positionsmarke an das Ende des Dokumentes setzt. Wenn du jetzt in der VBA Hilfe nach EndKey suchst, findest du raus welche Parameter die Methode hat. Ein Parameter nennt sich "Unit", die Konstante die dem Parameter übergeben wurde ist "wdStory". "wd" bedeutet in dem Fall einfach Word, "xl" würde Excel bedeuten ect.pp.
Jetzt weißt du, dass du die Methode .EndKey auf ein Selection Objekt anwenden kannst. Das klickst du dir erstmal in LV zusammen. Übergibst du jetzt dem Parameter "Unit" die Konstante "wdStory" bekommst du eine Fehlermeldung.
Du müsstest jetzt wissen (und das ist halt Erfahrung...) das dieser Konstanten-Name nur ein anderer Ausdruck für die dahinter stehende Zahl ist.
Die Konstante ist also eigentlich eine Zahl, statt "wdStory" könntest du im VBA Editor auch einfach "6" schreiben.
Wieso jetzt 6? Weil 6 die numerische Entsprechung von wdStory ist.
Wie bekommst du das raus?
Schreib dir ein Makro im VBA Editor das dir sagt, welche Zahl hinter deiner Konstante steckt.
Code:
Sub blabla()
MsgBox wdStory
End Sub
Im VBA Editor klickst du jetzt in ein der drei Zeilen des Makros und drückst [F8]. Damit führst du dieses Makro aus. Es wird ein Fenster erscheinen, das die Zahl 6 zeigt.
Jetzt hast du alle Puzzelteile zusammen und kannst dir deine Funktion in LV zusammenbauen.
Gruß SeBa