von Stephan » Mo, 04.10.2004 16:23
Hallo Charly,
Ich weiß nun, dass das Dokument geöffnet ist
Nein, das stimmt eigentlich nicht - ich habe das gestern nicht genau durchdacht. Du weißt nur das es Fenster gibt in deren Titelzeile etwas steht was dort normalerweise stünde wenn Du das entsprechende Dokument "normal" öffnen würdest. Ist jetzt pingelig meinst Du - nein garnicht denn mit:
Code: Alles auswählen
sub Titelleiste_test
for i=0 to Stardesktop.Frames.count-1
stardesktop.Frames(i).title = "irgendetwas"
next i
end sub
kannst Du in die Titelleisten aller geöffneten Fenster der OOo-Anwendung beliebigen Text eintragen und die geöffneten Dokumente werden davon nicht beeinflußt. Was ich damit sagen will ist das Du ausgehend vom ursprünglichen Code nicht auf die eigentlichen Dokumente zugreifen kannst, ich weiß jedenfalls derzeitig nicht wie ...
Verwende deshalb folgenden Code:
Code: Alles auswählen
sub gesamt
'hier Dateinamen vorgeben
gesuchter_dateiname = "post.sxw"
'----------------------------------------
laenge = Len(gesuchter_dateiname)
alles = StarDesktop.getComponents()
elemente = alles.createEnumeration()
Do While elemente.HasMoreElements
aktuell = elemente.NextElement()
If HasUnoInterfaces(aktuell, "com.sun.star.frame.XModel") Then
If aktuell.hasLocation() Then
if Right(ConvertFromURL(aktuell.GetLocation),laenge) = gesuchter_dateiname Then
if Right(ConvertFromURL(aktuell.GetLocation),3) ="sxc" Then
'Beispiel Calc
blatt = aktuell.getSheets().GetByName("Tabelle1")
zelle = blatt.getCellByPosition(0, 0)
zelle.Value = 12345
end if
if Right(ConvertFromURL(aktuell.GetLocation),3) ="sxw" Then
'Beispiel Writer
Cursor = aktuell.Text.createTextCursor()
Cursor.String = "Das ist ein Beispieltext"
end if
end if
end if
end if
Loop
end sub
mit diesem Code gibt es das Problem mit dem Titel in den Dokumenteigenschaften nicht mehr und Du greifst exakt auf das gewünschte Dokument zu, völlig unabhängig was in der Titelzeile steht.
Gruß
Stephan
Hallo Charly,
[quote]Ich weiß nun, dass das Dokument geöffnet ist[/quote]
Nein, das stimmt eigentlich nicht - ich habe das gestern nicht genau durchdacht. Du weißt nur das es Fenster gibt in deren Titelzeile etwas steht was dort normalerweise stünde wenn Du das entsprechende Dokument "normal" öffnen würdest. Ist jetzt pingelig meinst Du - nein garnicht denn mit:
[code]sub Titelleiste_test
for i=0 to Stardesktop.Frames.count-1
stardesktop.Frames(i).title = "irgendetwas"
next i
end sub[/code]
kannst Du in die Titelleisten aller geöffneten Fenster der OOo-Anwendung beliebigen Text eintragen und die geöffneten Dokumente werden davon nicht beeinflußt. Was ich damit sagen will ist das Du ausgehend vom ursprünglichen Code nicht auf die eigentlichen Dokumente zugreifen kannst, ich weiß jedenfalls derzeitig nicht wie ...
Verwende deshalb folgenden Code:
[code]sub gesamt
'hier Dateinamen vorgeben
gesuchter_dateiname = "post.sxw"
'----------------------------------------
laenge = Len(gesuchter_dateiname)
alles = StarDesktop.getComponents()
elemente = alles.createEnumeration()
Do While elemente.HasMoreElements
aktuell = elemente.NextElement()
If HasUnoInterfaces(aktuell, "com.sun.star.frame.XModel") Then
If aktuell.hasLocation() Then
if Right(ConvertFromURL(aktuell.GetLocation),laenge) = gesuchter_dateiname Then
if Right(ConvertFromURL(aktuell.GetLocation),3) ="sxc" Then
'Beispiel Calc
blatt = aktuell.getSheets().GetByName("Tabelle1")
zelle = blatt.getCellByPosition(0, 0)
zelle.Value = 12345
end if
if Right(ConvertFromURL(aktuell.GetLocation),3) ="sxw" Then
'Beispiel Writer
Cursor = aktuell.Text.createTextCursor()
Cursor.String = "Das ist ein Beispieltext"
end if
end if
end if
end if
Loop
end sub[/code]
mit diesem Code gibt es das Problem mit dem Titel in den Dokumenteigenschaften nicht mehr und Du greifst exakt auf das gewünschte Dokument zu, völlig unabhängig was in der Titelzeile steht.
Gruß
Stephan