Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gandhi am 03.09.04 - 15:46:29

Titel: Parameterübergabe nach VBA
Beitrag von: Gandhi am 03.09.04 - 15:46:29
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

Meine kurze (hoffentlich einfache) Frage: Wie übergebe ich die Parameter (z.B.  NumRows:=2) via LotusScript?
Titel: Re:Parameterübergabe nach VBA
Beitrag von: Tode am 03.09.04 - 16:45:10
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
Titel: Re:Parameterübergabe nach VBA
Beitrag von: Gandhi am 04.09.04 - 15:17:08
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!
Titel: Re:Parameterübergabe nach VBA
Beitrag von: koehlerbv am 04.09.04 - 15:56:06
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
Titel: Re:Parameterübergabe nach VBA
Beitrag von: Gandhi am 06.09.04 - 09:36:07
Ok, Danke!
Das war der fehlende Schlüssel...