Seite 1 von 1
Fenstername auslesen
Verfasst: Sa, 02.01.2010 16:32
von Scalaia990
Hallo ich stehe wieder mal auf dem Schlauch und komme mit den einfachsten Dingen nicht weiter, auch die Suche in den Foren und im Web war bisher nicht von Erfolg gekrönt.
Wie kann ich den Fensternamen in einem Macro auslesen?
Über die den code
sframe = thiscomponent.CurrentController.frame.getname
msgbox sframe
bekomme ich zwar keine Fehlermeldung aber eine leere Msgbox zurück.
Wer kann mir weiterhelfen wo ist mein Denkfehler?
Gruss und Dank
Scalaia990
Re: Fenstername auslesen
Verfasst: So, 03.01.2010 07:06
von peterschleif
Re: Fenstername auslesen
Verfasst: So, 03.01.2010 10:17
von Stephan
peterschleif hat geschrieben:Hallo.
Peter
das liefert den Titel des Fensters (
http://api.openoffice.org/docs/common/r ... Title.html
), aber nicht dessen Namem (
http://api.openoffice.org/docs/common/r ... ml#getName), der sollte so zu ermitteln sein wie es Scalaia990 schreibt.
Leider bekomme ich dabei in z.B. OOo 2.4.0 auch nur eine leere Rückgabe, in z.B. OOo 1.1.4 hingegen funktioniert es so wie es soll, z.B. folgender code von Pitoniak läuft dort problemlos:
Code: Alles auswählen
Sub UseAnExistingFrame
Dim noArgs() 'An empty array for the arguments
Dim vDoc 'The loaded component
Dim sURL As String 'URL of the document to load
Dim nSearch As Long 'Search flags
Dim sFName As String 'Frame Name
Dim vFrame 'Document Frame
Dim s As String 'Display string
REM Search globally for this
nSearch = com.sun.star.frame.FrameSearchFlag.GLOBAL + _
com.sun.star.frame.FrameSearchFlag.CREATE
REM I can even open a real file for this, but I don't know what files
REM you have on your computer so I create a new Writer document instead
REM sURL = "file:///home/andy/doc1.sxw"
sURL = "private:factory/swriter"
REM Create a frame with the name MyFrame rather than _default
sFName = "MyFrame"
vFrame = ThisComponent.CurrentController.Frame
vDoc = vFrame.LoadComponentFromUrl(sURL, sFName, nSearch, noArgs())
If IsNull(vDoc) Then
Print "Failed to create a document"
Exit Sub
End If
REM The name of the frame is MyFrame. Note that the name has nothing
REM to do with the title!
sFName = vDoc.CurrentController.Frame.Name
s = "Created document to frame " & sFName & CHR$(10)
MsgBox s
End Sub
Gruß
Stephan
Re: Fenstername auslesen
Verfasst: So, 03.01.2010 13:32
von Scalaia990
Vielen Dank Peter, genau das hab ich gesucht.
Scalaia990
Re: Fenstername auslesen
Verfasst: So, 03.01.2010 13:36
von Stephan
Vielen Dank Peter, genau das hab ich gesucht
.
Du suchtest nach dem Fenster
namen:
Wie kann ich den Fensternamen in einem Macro auslesen?
Nicht nach dem Titel - oder handelt es sich um einen Irrtum? (Beides sind nämlich inhaltlich
sehr verschiedene Dinge - keineswegs bestehen hier ZUsammenhänge wie z.B. bei .URL und .getLocation)
fragend,
Gruß
Stephan
Re: Fenstername auslesen
Verfasst: Di, 05.01.2010 23:31
von Scalaia990
Hallo Peter,
wenn Du es so willst war es ein Irrtum meinerseits, ich habe den Eintrag gesucht der unter Titel geführt wird, nur haben mich meine verschiedenen Suchen im Web zum Befehl getName geführt deswegen habe ich die Frage auch so gestellt.
Gruss und Dank
Scalaia990