Libre Office

Erstellte .cmd Datei wird nicht ausgeführt

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Nübby
Beiträge: 6
Registriert: Di 22. Sep 2026, 10:19

Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Nübby » Sa 26. Sep 2026, 11:12

Ich lese Dateinamen, Pfad und Erweiterung von Dateien in getrennte Spalten einer Tabelle. Aus den Daten dieser Tabelle wird zum Aufrufen der Dateien (Bilder,Videos..) eine cmd Datei erstellt. (incl. Ländercode für die umlaute). Nun lassen sich manche Dateien aufrufen und andere werden nicht ausgeführt. In der (portable)Version 26.2.12 mit der gleichen Tabelle geht alles. In der aktuellen Version 26.8 mal ja, mal nein. Meine Fehleranalyse zeigte mir das der Unterschied nur im Mime Typ der erstellten Datei besteht. Mal us-ascii, mal utf-8. Unter meinem aktuellen Win11 wird dann die mit utf-8 erstellte Datei nicht ausgeführt. Kann ich den Mime Typ irgendwie beim erstellen ändern/vorgeben?

Nachtrag: Datei erstellt wird mit Basic-Macro.

Pit Zyclade
* LO-Experte *
Beiträge: 3277
Registriert: Mo 12. Nov 2012, 16:59

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Pit Zyclade » Sa 26. Sep 2026, 12:29

Hättest deinen Beitrag besser unter LibreOffice|Programmierung untergebracht als hier in calc, weil das doch spezifisch für Programmierung spricht.
LO 26.2.6.3 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2748
Registriert: Fr 10. Dez 2010, 10:01

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von karolus » Sa 26. Sep 2026, 16:37

Nübby hat geschrieben: ↑
Sa 26. Sep 2026, 11:12

Nachtrag: Datei erstellt wird mit Basic-Macro.
Also das übliche Gefrickel mit BASIC!?

Magst du uns diesen BASIC-code zeigen, dann könnten wir vielleicht mehr dazu sagen, oder dich mit weiteren konkreten Rückfragen belästigen!
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Nübby
Beiträge: 6
Registriert: Di 22. Sep 2026, 10:19

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Nübby » Sa 26. Sep 2026, 19:59

Ja, das übliche gefrickel mit Basic. Allerdings in recht komplexer Form. Die Tabelle enthält über 10.000 Einträge die über Macros verwaltet werden. Die Datei ist für meine Fotos, Tieraufnahmen gemacht incl. Taxonomie und Metadaten einlesen (über ExifTool) und im Laufe der Jahre gewachsen. Der Grundcode zum erstellen und aufrufen der cmd ist im Original in
Sub aufruf_x(ereignis) ab Zeile 820 und sieht gekürzt so aus:

'...
tmpordner=Environ("TEMP"): if tmpordner="" then tmpordner=Environ("TMP")
tmpordner=tmpordner+"\"
mycell = mysheet1.getCellByPosition(7,zeile): name1=mycell.string `Pfad
mycell = mysheet1.getCellByPosition(2,zeile): name2=mycell.string 'Name
mycell = mysheet1.getCellByPosition(3,zeile): name3=mycell.string 'erw
dname=tmpordner+"aufruf.cmd" :
inh="@Echo off"+chr$(13)+"chcp 1252 >nul"+chr$(13)+chr$(34)+name1+name2+name3+chr$(34)
num3=freefile
open dname for output as #num3
print #num3,inh
close #num3
Shell (dname,4)
'....

mysheet1 ist natürlich vorher definiert. Bevor weitere Nachfragen nach Code kommen - Die komplette Datei ist sehr komplex und beinhaltet U.a. Betriebsystem (Windows/Linux) und Programm (OpenOff/LibreOff) abfragen. Unter Linux habe ich große Probleme mit einigen Befehlen, was aber jetzt gerade nicht das Problem sein soll. (Kann später mal in angriff genommen werden.)
Da unter Libre der Befehl 'dispatcher.executeDispatch(document, ".uno:AutoFill", "", 0, args2()) ' nicht ausgeführt wird wenn die Spalte Hidden ist, musste ich die Programmversionsabfrage mit einbauen um diese Spalte bei Bedarf vorher Einzublenden.
Die komplette Datei ist im Anhang. Alle eingetragenen Dateien sind natürlich nur auf meinem Recher vorhanden. Das erstellen der cmd sollte aber auch ohne diese gehen.
Dateianhänge
Natur-Tiere_alle.ods
(2.28 MiB) 7-mal heruntergeladen

Nübby
Beiträge: 6
Registriert: Di 22. Sep 2026, 10:19

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Nübby » Sa 26. Sep 2026, 20:00

Kann ich diesen Beitrag noch nach Programierung verschieben?

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2316
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von miesepeter » So 27. Sep 2026, 08:25

Nübby hat geschrieben: ↑
Sa 26. Sep 2026, 20:00
Kann ich diesen Beitrag noch nach Programierung verschieben?
Hallo,

das kann nur Moderator:in. Hier in diesem Forum eher selten zu sehen...

Was du machen kannst:
  • Kopiere deinen letzten ausführlichen Beitrag (Calc-Forum) und eröffne in "Programmierung" ein neues Thema, füge diesen Beitrag dort ein. Verankere auch deine Beispieldatei dort (neu einfügen, anzeigen).
  • Lösche den Beitragstext im Calc-Forum und füge stattdessen einen Link zum neu eröffneten Thema (Prorgrammierung-Forum) ein.
Ciao

mikele
* LO-Experte *
Beiträge: 2073
Registriert: Mo 1. Aug 2011, 20:51

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von mikele » So 27. Sep 2026, 13:51

Hallo,
eine Suche ergab
Die cmd.exe erwartet standardmäßig den ANSI-Zeichensatz (unter Windows im deutschsprachigen Raum meist Codepage 1252). Wenn Umlaute oder Sonderzeichen enthalten sind und die Datei als UTF-8 gespeichert wurde, schlägt die Ausführung fehl oder erzeugt Syntaxfehler
Daher vermute ich, dass es am sinnvollsten wäre, die cmd-Datei in genau diesem Zeichensatz zu erstellen.
Dazu wirst du allerdings den Weg über den Service com.sun.star.ucb.SimpleFileAccess gehen. siehe Andrew Pitonyak, BASIC-Makros für OpenOffice und LibreOffice, Kapitel 10.12.4.
Gruß,
mikele

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2748
Registriert: Fr 10. Dez 2010, 10:01

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von karolus » So 27. Sep 2026, 16:06

mikele hat geschrieben: ↑
So 27. Sep 2026, 13:51

Daher vermute ich, dass es am sinnvollsten wäre, die cmd-Datei in genau diesem Zeichensatz zu erstellen.
Dazu wirst du allerdings den Weg über den Service com.sun.star.ucb.SimpleFileAccess gehen. siehe Andrew Pitonyak, BASIC-Makros für OpenOffice und LibreOffice, Kapitel 10.12.4.
Das KANN man vielleicht so machen, ich würde für diesen Teil aber komplett auf das Gewurstel per Makro verzichten, und stattdessen ein paar einfache HYPERLINK(…)-formeln in die Tabelle einbauen!
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Nübby
Beiträge: 6
Registriert: Di 22. Sep 2026, 10:19

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Nübby » So 27. Sep 2026, 19:13

Weiter unter Programierung
posting.php?mode=post&f=12

Mondblatt24
* LO-Experte *
Beiträge: 3652
Registriert: Fr 3. Mär 2017, 17:12

Re: Erstellte .cmd Datei wird nicht ausgeführt

Beitrag von Mondblatt24 » So 27. Sep 2026, 19:18

Weiter geht es hier.
Win 11 (x64) ▪ LO 26.2.6.3 (x64) ▪ AOO Portable 4.1.16
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

Open Office
Antworten