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
Fenstername auslesen
Moderator: Moderatoren
-
- **
- Beiträge: 34
- Registriert: Fr, 06.11.2009 05:49
Re: Fenstername auslesen
Hallo.
Peter
Code: Alles auswählen
MsgBox ThisComponent.CurrentController.Frame.Title
Re: Fenstername auslesen
peterschleif hat geschrieben:Hallo.
PeterCode: Alles auswählen
MsgBox ThisComponent.CurrentController.Frame.Title
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
-
- ***
- Beiträge: 76
- Registriert: Mi, 29.04.2009 23:50
Re: Fenstername auslesen
Vielen Dank Peter, genau das hab ich gesucht.
Scalaia990
Scalaia990
Re: Fenstername auslesen
.Vielen Dank Peter, genau das hab ich gesucht
Du suchtest nach dem Fensternamen:
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
-
- ***
- Beiträge: 76
- Registriert: Mi, 29.04.2009 23:50
Re: Fenstername auslesen
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
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