Calc Datei speichern per Makro

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

Moderator: Moderatoren

Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Calc Datei speichern per Makro

Beitrag von lorbass »

Vielleicht versuchst du's nochmal selbst mit Hilfe von Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ, Kapitel 6.1 Öffnen/Speichern?

Gruß
lorbass
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Hallo lorbass,
ich glaube das da nicht das richtige dabei ist oder ich verstehe es nicht. Vielleicht auch beides :lol:
Wäre toll wenn sich jemand der Profis erbarmen könnte, vielen Dank.
Gruß
Peter
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc Datei speichern per Makro

Beitrag von Stephan »

z.B.:

Code: Alles auswählen

Sub Main
	blatt = ThisComponent.CurrentController.ActiveSheet
	With blatt
		tmp = .getCellRangeByName("A5").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("C17").String
		tmp = tmp & .getCellRangeByName("C17").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("B31").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("B31").String & ".ods"
	End With 
	ThisComponent.storeAsUrl(ConvertToURL(tmp), Array())
End Sub

Gruß
Stephan
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Hallo Stephan,
Besten Dank! Die einzelnen Zellinhalte werden gefunden, dann diese Fehlermeldung:
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.task.ErrorCodeIOException
Message: SfxBaseModel::impl_store <http://20170002-Rechnung-Schlaier-23.08.17.ods/> failed: 0x5032.
Bei der Fehlermeldung öffnet sich das Basic Fenster, ein Pfeil zeigt auf die letzte Zeile:
ThisComponent.storeAsUrl(ConvertToURL(tmp), Array())
Hier muss der Fehler liegen, ich kann nichts erkennen.

Code: Alles auswählen

Sub Main
blatt = ThisComponent.CurrentController.ActiveSheet
	With blatt
		tmp = .getCellRangeByName("B31").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("A5").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("C17").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("K31").String & ".ods"
	End With 
	ThisComponent.storeAsUrl(ConvertToURL(tmp), Array())
End Sub
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc Datei speichern per Makro

Beitrag von Stephan »

Hier muss der Fehler liegen, ich kann nichts erkennen.
http://20170002-Rechnung-Schlaier-23.08.17.ods/ ist keine gültige Adresse+Dateiname


Gruß
Stephan
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Das ist mir klar. Aber der Dateiname wird ja durch das Makro erzeugt!? Wo kommt das http her?
Zuletzt geändert von Peter hat eine Frage am Mi, 23.08.2017 21:25, insgesamt 1-mal geändert.
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Wahrscheinlich muss ich irgend wie den Speicherort C:/Test mit angeben, oder?
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc Datei speichern per Makro

Beitrag von Stephan »

Wo kommt das http her?
von mehreren Punkten im Dateinamen bei gleichzeitigem Nichtvorhandensein einer Adresse
Wahrscheinlich muss ich irgend wie den Speicherort C:/Test mit angeben, oder?
ja. richtigerweise natürlich C:\Test



Gruß
Stephan
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Hallo Stephan,
OK. die Zelle K31, das Datum mit den Punkten habe ich herausgenommen. Eine Fehlermeldung erscheint nicht mehr :)
Die Datei wird allerdings auch nicht gespeichet.
Wo muss ich den Pfad eingeben?
Gruß
Peter
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc Datei speichern per Makro

Beitrag von Stephan »

Wo muss ich den Pfad eingeben?
Das weiß ich doch nicht, denn ich habe keine Ahnung was in den ganzen Zellen steht.

Schreibe eine MsgBox in den Code dann kannst Du kontrollieren, was als Pfad übergeben wird:

Code: Alles auswählen

Sub Main
blatt = ThisComponent.CurrentController.ActiveSheet
	With blatt
		tmp = .getCellRangeByName("B31").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("A5").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("C17").String
		tmp = tmp & .getCellRangeByName("B22").String
		tmp = tmp & .getCellRangeByName("K31").String & ".ods"
	End With 

	Msgbox tmp

	ThisComponent.storeAsUrl(ConvertToURL(tmp), Array())
End Sub

Gruß
Stephan
Peter hat eine Frage
Beiträge: 9
Registriert: Mi, 23.08.2017 16:13

Re: Calc Datei speichern per Makro

Beitrag von Peter hat eine Frage »

Hallo Stephan,
jetzt hab ich das vertanden, der Pfad kann ich auch in eine Zelle schreiben.
Es funktioniert, Danke für deine nicht endenwollende Geduld!
Gruß
Peter
Antworten