Domino 9 und frühere Versionen > Entwicklung
Parameterübergabe nach VBA
(1/1)
Gandhi:
Hi, folgendes Problem:
Ich muss/möchte in einem WordDokument (das ich aus Notes heraus erstelle) eine Tabelle erstellen. VBA Code dazu sieht so aus:
--- Code: ---ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
--- Ende Code ---
Meine kurze (hoffentlich einfache) Frage: Wie übergebe ich die Parameter (z.B. NumRows:=2) via LotusScript?
Tode:
es gibt keine benannten Parameter in der "FremdImplementierung"...
Das heisst: Du musst ALLE Parameter kennen, und diese der Reihe nach angeben:
ActiveDocument.Tables.Add( Selection.Range, 2, 5, wdWord9TableBehavior, wdAutoFitFixed )
Du MUSST wirklich ALLE Parameter angeben, leere Parameter werden mit ",," übergeben...
Ob die von Dir angegebenen tatsächlich ALLE sind, die die Funktion beherrscht, musst Du aber selbst rausfinden...
HTH
Tode
Gandhi:
Ok. Soweit klar. Die Frage ist aber:
1.) Welcher Syntax:
Range:=Selection
lässt mir LotusScript nicht durchgehen...das ganze dann in Anführungszeichen?
2.) In VBA sind keine Klammern drum - in LS brauche ich die aber auch.
3.) Müssen die Parameter in der Form "A, B, C" oder "A", "B", "C" übergeben werden oder gibt es gar eine Möglichkeit A, B, C - wobei wie gesagt a:=b in LS Probleme macht...
Vielen Dank aber schon mal für die Mühe!
koehlerbv:
Gandhi, ich befürchte, Du hast hier ein prinzipielles Missverständnis. Wie Tode schon schrieb, lautet die Word-VBA-Syntax
Ausdruck.Add(Range, NumRows, NumColumns DefaultTableBehavior, AutoFitBehavior)
Du musst nun Deine Parameter in der geforderten Form übergeben:
Ausdruck ist Dein Word-Dokument-Objekt
Range ist Dein Objekt, dass die Auswahl betrifft
NumRows ist vom Typ Long
NumColumns dito
Die letzten beiden Parameter sind Konstanten - da musst Du mal schauen, welche Zahlen Du dafür brauchst.
Beispiel (am Anfang des Word-Dokuments eine Tabelle mit 5 Zeilen und 4 Spalten erstellen und gleich als eigenes Objekt zwecks Füllen zur Verfügung haben):
Set myRange = ActiveDocument.Range (0, 0)
Set myTable = ActiveDocument.Tables.Add (myRange, 5, 4)
Da die letzten beiden Parameter (die habe ich jetzt auch nicht im Kopf) weggelassen wurden, werden die Defaultwerte verwendet. Wie gesagt - suche mal nach den VBA-Word-Konstanten.
Eine Notation wie
NumRows := 5
beherrscht LS nicht, aber das ist ja auch vollkommen unnötig - Du übergibst die erforderlichen Werte wie sonst auch in Notes direkt mit ihren Werten.
HTH,
Bernhard
Gandhi:
Ok, Danke!
Das war der fehlende Schlüssel...
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln