Hallo Kornelia,

Kornelia Lubke schrieb:
> Jetzt muss ich nur noch aus der While-Loop-Schleife zum Ende
> des Makros
> springen, falls das Writer-Dokument bereits geöffnet ist.

Naja, wieder an dieser Stelle:

Do While ...
...
If Right ((Aktuell.GetLocation), 3) = "odt" Then
        'mache hier was
        'oder springe hier zu einem externen Codeteil
        'und in beiden Fällen oder auch sofort, bringt Dich:
        exit Do
        'hinter das Loop
End If
...
Loop
'hier wird nach exit Do fortgesetzt

Oder ebend statt exit Do eine Sprunganweisung zu einer Marke. Goto abc
bringt Dich zur Marke :abc ist diese direkt vor dem End Sub wird so
gleich im nächsten Schritt das Makro beendet. Willst Du aber nach
Verlassen des IF garnichts mehr machen kannst Du auch statt dieser
beiden Möglichkeiten statt exit Do gleich exit Sub verwenden und das
Makro macht sofort Schluß.
Ja und was nun konkret ist von Deiner Vorliebe abhängig, es gibt so
viele Varianten, nur als Beispiel eine davon:

...
Do While ...
...
If Right ((Aktuell.GetLocation), 3) = "odt" Then
        X = alles_was noch_getan_werden_muss(Aktuell)
        'vielleicht willst Du X  auswerten und noch was tun, ansonsten gleich:
        exit Sub
End If
...
Loop
...
End Sub

Funktion alles_was_noch_getan_werden_muss(x As Object)
'hier Deine Anweisungen
...
alles_was_noch_getan_werden_muss = ...
End Function


> Kann man
> eigentlich eine IF-Abfrage in eine While-Schleife einbauen?

Für einen Scherz bist Du aber zu haben (?) ... ich frage nur weil *Du*
diesen Code gepostet hast:

Do While AlleDoks.HasMoreElements
                Aktuell = AlleDoks.NextElement ()
                If HasUnoInterfaces (Aktuell, "com.sun.star.frame.XModel") Then
                        If Right ((Aktuell.GetLocation), iLaenge) = sWriterDok 
Then
                                If Right ((Aktuell.GetLocation), 3) = "odt" Then
                                        Dim oFenster as new 
com.sun.star.awt.Window
                                        oDoc2 = oFenster.GetContainerWindow ()
                                End If
                        End If
                End If
        Loop

und nun fragst ob das was *Du* bereits in dem Code vorgemacht hast auch
geht. Anwort: es geht --> siehe Dein Code.


Gruß
Jörg

P.S.
Bei dem über was wir hier geredet haben handelt es sich um allgemeine
Programmiertechniken, das ist alles nicht spezifisch für OOoBasic. Es
wäre nützlich Dir mal ein Buch zu besorgen und solche Dinge zu lernen,
denn die kannst Du in jeder Programmiersprachen die Du zukünftig noch
brauchen wirst immer wieder verwenden.
Ich habe leider keinen speziellen Tip dazu, ich habe das vor 20 Jahren
gelernt und die Bücher von damals gibt's heute nicht mehr. Hier ein
Bißchen auf die Schnelle:
http://de.wikipedia.org/wiki/Kontrollstruktur
http://de.wikipedia.org/wiki/While-Schleife
http://de.wikipedia.org/wiki/Do-while-Schleife
http://de.wikipedia.org/wiki/Kategorie:Programmiersprachelement
http://www.mut.de/media_remote/katalog/bsp/382726183Xbsp.pdf
Auch das Buch von Thomas enthält einige Ausführungen zu solchen
allgemeinen Dingen, hauptsächlich aber OOoBasic-spezifische Sachen:
http://www.galileocomputing.de/1023?GPP=ooodev

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an