Seite 1 von 1

Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 11:25
von SebSchremser
Hallo liebe LO Community.

Ich habe bei uns im Unternehmen eine Excel Datei erstellt die mittels Makro den Wert (ist nur ein kurzer Text) aus einer Zelle in die Fußzeile kopiert und anschließend auf allen anderen Sheets verteilt.

Da wir nun sehr viel mit Libre Office machen wünscht sich mein Chef dies auch mit Calc benutzen zu können.

Ich bin kein Makro Spezialist und die Excel Geschichte habe ich mir gerade so aus dem Internet zusammengsucht.
Nach der gleichen Recherche für LibreOffice habe ich leider zu viele Infos gefunden, sodass ich jetzt verwirrt bin. Ich möchte keine Makro Guru werden sondern lediglich diese einfache Funktion verwenden.

Ihr könnt mir doch bestimmt helfen wie ich das bewerkstelligen kann.


LG
Basti

Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 12:08
von bst
Hallo Basti,

zeige mal das VBA-Makro her. Wenn das so einfach (und kurz) ist lässt sich das vielleicht ja auch einfach umschreiben.

cu, Bernd

Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 12:37
von SebSchremser
Hallo Bernd.

Danke für deine schnelle Antwort

In Wirklichkeit sind es zwei Makros.
Das erste übernimmt den Wert aus der Zelle und fügt sie in die Fußzeile ein und das zweite kopiert die Fußzeile vom ersten Sheet in die anderen:

Code: Alles auswählen

Sub Wert_in_Fusszeile()
     Worksheets(1).PageSetup.CenterFooter = "SLA Anlage für " & Range("A4").Value
End Sub


Sub Fusszeile_kopieren()
Dim wks As Worksheet, wks_def As Worksheet
Set wks_def = Sheets("Übersicht")
For Each wks In ThisWorkbook.Sheets
    With wks.PageSetup
        .CenterFooter = wks_def.PageSetup.CenterFooter
    End With
Next wks
End Sub
Danke für deine Hilfe.

LG
Basti

Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 13:07
von bst
Hi,

so wie ich das verstehe sind in OO Kopf- und Fuß-Zeilen abhängig von einer Vorlage, per Default ist das die mit dem Namen "Standard".

Es sollte also ausreichen einmal die Fußzeile zu ändern, um das dann automatisch in allen Tabellen zu haben.

HTH, Bernd
--

Code: Alles auswählen

REM  *****  BASIC  *****

Sub SetzeFusszeile
    oDoc = ThisComponent
    oSheet = oDoc.Sheets.getByIndex(0)
    oStyles = oDoc.StyleFamilies.getByName("PageStyles")
    oPageStyle = oStyles.getByName("Standard")

    oFooter = oPageStyle.RightPageFooterContent
    oFooter.CenterText.String = "SLA Anlage für " & oSheet.getCellRangeByName("A4").String
    oPageStyle.RightPageFooterContent = oFooter
End Sub


Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 13:27
von SebSchremser
Hallo Bernd.

Ich hätte deinen Code als neues Makro eingespielt. Allerdings mach LibreOffice gar nichts.

Wie schon geschrieben bin ich kein Makro Experte.
Meine Vorgehensweiße war diese: Extras -> Makros -> Makros verwalten -> LibreOffice Basic
Im geöffnete Fenster habe ich meine .ods Datei angewählt (Ich nehme an diese Makro wird im Dokument gespeichert) und anschließend ein Klick auf "Neu".
In diesem Editor habe ich deinen Code eingefügt. Natürlich gespeichert und anschließend getestet.
Leider erfolglos.

Habe ich irgendetwas falsch gemacht? Danke für deine Hilfe.

LG
Basti

Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 13:55
von bst
Hi,

keine Ahnung. Hier (Win7, LO 4.0.4.2) hat das funktioniert.

Siehe Anhang.

cu, Bernd

Re: Makro erstellen in Calc

Verfasst: Mi 3. Jul 2013, 14:50
von SebSchremser
Hallo Bernd.

Ich habe hier das gleiche Setup. Win7 Pro noch 32-bit mit LO 4.0.4.2. Ich habe keinen Unterschied zu deinem Dokument gefunden.

Ich habe jetzt allerdings dein Dokument verwendet wo es funktioniert und einfach die benötigten Sheet in das neue Dokument eingefügt.
Somit habe ich eine funktionierende Lösung.

Vielen lieben Dank für deine Unterstützung. Hätte nicht gedacht dass es so schnell geht. Daumen hoch für dich.


LG
Basti