Calc Datei speichern per Makro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Calc Datei speichern per Makro

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 22:19

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

Re: Calc Datei speichern per Makro

von Stephan » Mi, 23.08.2017 22:08

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

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 21:52

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

Re: Calc Datei speichern per Makro

von Stephan » Mi, 23.08.2017 21:38

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

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 21:13

Wahrscheinlich muss ich irgend wie den Speicherort C:/Test mit angeben, oder?

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 21:12

Das ist mir klar. Aber der Dateiname wird ja durch das Makro erzeugt!? Wo kommt das http her?

Re: Calc Datei speichern per Makro

von Stephan » Mi, 23.08.2017 21:10

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

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 21:03

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

Re: Calc Datei speichern per Makro

von Stephan » Mi, 23.08.2017 20:31

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

Re: Calc Datei speichern per Makro

von Peter hat eine Frage » Mi, 23.08.2017 19:29

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

Re: Calc Datei speichern per Makro

von lorbass » Mi, 23.08.2017 18:13

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

Gruß
lorbass

Nach oben