Relative Pfade, Excel-Kompatibilität und Start-Button

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

Moderator: Moderatoren

Basti
**
Beiträge: 20
Registriert: Sa, 22.01.2005 12:47

Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Basti »

Hallo.

Ich habe drei Fragen zu OOo-Makros:

1. Wie gebe ich relative Pfadangaben an? (geht um einen CSV-Export aller Blätter; das Makro muss sowohl unter UNIX, als auch unter Windows laufen)
2. Ist ein OOo-Makro in einer XLS-Datei auch unter Excel lauffähig?
3. Gibt es einen einfachen Weg, ein Makro zu aktivieren, also z.B. ein Button?

Gruß.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Karolus »

Hallo
1. Ich nehme mal an du möchtest die Makros "mit einem Dokument" transportieren ? Das Dokument hat "seinen Pfad" in der Variablen 'thisComponent.url' → Damit kannst du arbeiten.
2. Nein
3. Ja

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Basti
**
Beiträge: 20
Registriert: Sa, 22.01.2005 12:47

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Basti »

Hallo Karo.

Vielen Dank!
Karolus hat geschrieben: 1. Ich nehme mal an du möchtest die Makros "mit einem Dokument" transportieren ? Das Dokument hat "seinen Pfad" in der Variablen 'thisComponent.url' → Damit kannst du arbeiten.
Die exportierten CSV-Dateien sollen einfach in ein Unterverzeichnis gespeichert werden, im selben Ordner liegt (oder angelegt wird, falls das geht…), in dem das Dokument selbst liegt. Jetzt hab ich noch das Problem, dass ich bei jedem Export durch das Makro einen Dialog geöffnet bekomme, mit der Info, dass nur das aktuelle Blatt gespeichert wird. Lässt sich dieser unterdrücken oder per Makro triggern?
2. Nein
Gibt es hier Alternativen? Ich sehe, dass es anscheinend auch Python- und JavaScript-Makros gibt. Lässt sich mit denen ein solcher Export MS-Kompatibel basteln? Nochmal konkret: Eine XLS-Tabelle enthält mehrere Blätter und ich will einfach nur jedes dieser Blätter je in eine eigene CSV-Datei exportieren.

Gruß.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Stephan »

Jetzt hab ich noch das Problem, dass ich bei jedem Export durch das Makro einen Dialog geöffnet bekomme
Tja, die Frage ist dann nur was "das Makro" ist, ich sehe hier nämlich keinen Code ...
Gibt es hier Alternativen?
Du könntest VBA verwenden, ggf. mußt Du in den Code eine Weiche einbauen damit für Calc und Excel auf einen anderen Code verzweigt wird, prinzipiell also:

Code: Alles auswählen

Sub test()
On Error Goto xls
x = ThisComponent.URL
'weiterer Code für Calc

xls:
'Code für Excel
End Sub


Klar sollte natürlich sein das VBA nur in Excel in der entsprechenden Datei speicherbar ist, die Datei also in Excel erzeugt werden muß.



Gruß
Stephan
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Karolus »

Hallo
Evtl. ist das etwas für dich - geht aber nur mit ~.ods

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Stephan »

geht aber nur mit ~.ods
eigentlich nicht, denn das Makro funktioniert im Gegenteil nur mit *.xls. Zum Einen steht das als Kommentar im Code:

Code: Alles auswählen

 This Open Office macro will 
' - read all the .xls files located in the cFolder defined some line below
aber auch im eigentlichen Code ist es so implementiert:

Code: Alles auswählen

If LCase( Right( cFile, 4 ) ) = ".xls" Then

wobei das Ganze nur eine Lapalie ist denn man könnte das ja schnell um *.ods ergänzen

Code: Alles auswählen

If LCase( Right( cFile, 4 ) ) = ".xls" OR LCase( Right( cFile, 4 ) ) = ".ods" Then


Gruß
Stephan
Basti
**
Beiträge: 20
Registriert: Sa, 22.01.2005 12:47

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Basti »

Vielen Dank.

Mit der verlinkten Extension kann ich mir etwas zusammen basteln. Mit VBA muss ich mich dann später mal beschäftigen, gibt hier womöglich auch schon fertige Makros, die ich anpassen kann.

Gruß.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Karolus »

Hallo
Wenn die Extension sowohl auf .xls als auch auf .ods anpassbar ist, benötigst du eine VBA-lösung aus Excel heraus doch nicht unbedingt ?

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Basti
**
Beiträge: 20
Registriert: Sa, 22.01.2005 12:47

Re: Relative Pfade, Excel-Kompatibilität und Start-Button

Beitrag von Basti »

Das Makro soll immer auf eine .xls-Datei angewandt werden und sowohl in OOo, als auch in Excel laufen.
Antworten