Alle offenen Dateien per Makro schließen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

TopSigrid
Beiträge: 2
Registriert: Mi, 08.08.2018 14:53

Alle offenen Dateien per Makro schließen

Beitrag von TopSigrid » Mi, 08.08.2018 15:01

Hallo,

ich habe bereits ein Makro, welches bestehende Dateien öffnet.

Code: Alles auswählen

Sub Main
oDoc = openFile("D:\Dateien\sonstige\Test_Öffnen_Schließen\Test1.odt")
oDoc = openFile("D:\Dateien\sonstige\Test_Öffnen_Schließen\Test2.ods")
End Sub

function openFile(File)
URL = ConvertToURL(File)
fnOpenDoc = StarDesktop.loadComponentFromURL(URL, "_blank", 0, Array())
end function
Jetzt sollen genau diese Dateien mit einem anderen Makro wieder geschlossen werden. Bestenfalls wird davor (wie beim normalen Schließen auch) noch mal nachgefragt, wenn es ungespeicherte Änderungen gibt.

Bisher habe ich nur Möglichkeiten gefunden, um die aktuelle Datei (ThisComponent) zu schließen. Diese sollte aber nach Möglichkeit offen bleiben. Wenn es nicht möglich ist, konkrete Dateien zu schließen, würde es auch reichen, alle OpenOffice Dateien außer der aktuellen zu schließen.

Ich hoffe, ihr könnt mir helfen :D

Danke im Vorraus

TopSigrid
Beiträge: 2
Registriert: Mi, 08.08.2018 14:53

Re: Alle offenen Dateien per Makro schließen

Beitrag von TopSigrid » Mi, 08.08.2018 17:46

Ich habe es jetzt selber hinbekommen:

Code: Alles auswählen

Sub Main
CloseFiles ()
End Sub

Sub CloseFiles
	oCE = stardesktop.Components.createEnumeration
	while oCE.hasmoreelements
		oC = oCE.nextelement
		if (oC.Title="Test1.odt" OR oC.Title="Test2.ods") then
        		oC.store
        		oC.close -1
       		endif
    	wend
End Sub

Antworten