Hallo Jörn,
na fein, dass das Makro gleich funktionierte und auch in Deinem Kontext
tut was es soll :-)) ...
Die Symbol-Problematik kann ich Dir leider nicht bestätigen, da ich
keine eigenen Symbole in die Symbolleiste einfüge und auch mein
Bildschirm kein hochauflösender ist ("EIZO FlexScan L768" Baujahr 2004 -
http://www.usedcomp.de/pdf/EIZO-FlexScan-L768-Datenblatt.pdf ), aber er
tut was er soll ...
Aber den BUG-Report solltest Du trotzdem schreiben, da findet sich hier
im Forum bestimmt jemand, der dass dann auch mit einem "Comment"
bestätigen wird - es hilft ja schließlich LibreOffice immer weiter zu
verbessern.
Bezüglich MAKRO hätte ich da noch eines für CALC-Tabellen, aber nur für
solche Tabellenblätter, die nur Zellen beinhalten und keine
Zeichnungsobjekte (Diagramme etc.):
[1] Vorarbeiten
[1.1] Makro "Sub SeitenFormat_CALC" in die BASIC-IDE laden.
[1.2] Makro "Sub SeitenFormat_CALC" lokal für CALC mit Taste,
beispielsweise [Strg][F], verknüpfen.
[2] Arbeitsablauf
[2.1] CALC-Dokument öffnen.
[2.2] Tabellenblatt (über Reiter unten) auswählen (darf keine
Zeichnungsobjekte (Diagramme etc.) enthalten.
[2.3] Makro Starten mit [Strg][F]: Das Seitenformat (für das
CALC-Dokument) ist jetzt genauso groß wie der genutzte Zellenbereich im
ausgewählten Tabellenblatt.
[2.4] Mit [Datei][Als PDF exportieren...] von dem genutzte Zellenbereich
eine PDF-Datei erstellen.
[2.5] Weiter bei [2.2] ...
Grüße
Hans-Werner :-))
Sub Seitenformat_CALC
'
===================================================================================
Dim oCD as Object ' object Calc Dokument
Dim oTB as Object ' object Tabellen Blatt
Dim oC as Object ' object Cursor
Dim TBB as Long ' Tabellen Blatt Breite [1/100mm]
Dim TBH as Long ' Tabellen Blatt Höhe [1/100mm]
Dim X as Long ' X [0 = 1.Spalte]
Dim Xmax as Long ' X maximal
Dim Y as Long ' Y [0 = 1.Zeile ]
Dim Ymax as Long ' Y maximal
'
-----------------------------------------------------------------------------------
Const PS = "PageStyles" ' Page Styles
Const D = "Default" ' Default
'
===================================================================================
oCD = ThisComponent ' init. CALC-Dokument
oTB = oCD.currentController.activeSheet ' init. Tabellenblatt
oC = oTB.createCursor ' init. Cursor
oC.GotoEndOfUsedArea(False) ' Cursor nach unten rechts
Xmax = oC.getRangeAddress().endColumn ' letzte genutzte Spalte
Ymax = oC.getRangeAddress().endRow ' letzte genutzte Zeile
TBB = 0 ' init. T'blatt-Breite
For X=0 To Xmax Step 1 ' über Spalten
TBB = TBB + oTB.getCellByPosition(X,0).Size.Width ' aufsummieren
Breite
Next X
TBH = 0 ' init. T'blatt-Höhe
For Y=0 To Ymax Step 1 ' über Zeilen
TBH = TBH + oTB.getCellByPosition(0,Y).Size.Height '
aufsummieren Höhe
Next Y
With oCD.StyleFamilies.getByName(PS).getByName(D) ' Seite:
.Width = TBB ' Breite Blatt [1/100mm]
.Height = TBH ' Höhe Blatt [1/100mm]
.IsLandscape = True ' Seitenformat
.TopMargin = 0 ' Dr'rand oben [1/100mm]
.BottomMargin = 0 ' Dr'rand unten [1/100mm]
.LeftMargin = 0 ' Dr'rand links [1/100mm]
.RightMargin = 0 ' Dr'rand rechts [1/100mm]
.CenterHorizontally = True ' zentrieren horizontal
.CenterVertically = True ' zentrieren vertikal
.HeaderIsOn = False ' keine Kopfzeile
.FooterIsOn = False ' keine Fußzeile
.ScaleToPages = 1 ' skal. auf Seitengröße
End With
End Sub
------ Originalnachricht ------
Von: "icetex@web.de" <icetex@web.de>
An: users@de.libreoffice.org
Gesendet: 10.02.2018 12:07:59
Betreff: Re: [de-users] LO 6: Export von Vektorgrafiken aus Calc und
Draw
Hallo Hans-Werner,
…. ich bin enthusiasmiert! – Das ist ja toll, dass Du mir ein Makro
programmiert hast.
Ich habe es gestern abend installiert,
und es funktionierte sofort perfekt.
Damit bin ich einen großen Schritt weiter – Vielen herzlichen Dank!
Ich habe das Makro auch gleich auf eine freie Funktionstaste gelegt
und auch ein Symbol einer Symbolleiste zugefügt.
Funktioniert alles hervorragend.
… Leider ist das eingefügte Symbol sehr klein.
Das ist ein Problem, bei dem mir Regina von ca. 2 Monaten
schon einige Tipps gegegeben hatte,
die aber letztendlich keine wirkliche Lösung darstellen:
Wenn man bei einem hochauflösenden Bildschirm
ein neues Symbol einfügt, erscheint dies sehr klein,
in allen Versionen der letzten beiden Jahre.
Kannst Du das vielleicht bestätigen?
Wenn ja, würde ich auch dafür einen Bug-Report erstellen.
Mit freundlichen Grüßen
Jörn
Am 09.02.2018 um 09:41 schrieb OoOHWHOoO:
Hallo Jörn,
als Übergangslösung, bis der BUG-Report "RESOVED FIXED" und in eine
LO-Version eingearbeitet ist, kannst Du mit dem kleinen BASIC-Makro
"Sub SeitenFormat_DRAW" die Folien-Formatierung in DRAW mit
Tastendruck an das dorthin kopierte CALC-Diagramm anpassen und dann
anschließend dieses CALC-Diagramm automatisch passgenau als PDF-Datei
exportieren.
[1] Vorarbeiten
[1.1] Makro "Sub SeitenFormat_DRAW" in die BASIC-IDE laden.
[1.2] Makro "Sub SeitenFormat_DRAW" lokal für DRAW mit Taste,
beispielsweise [Strg][F], verknüpfen.
[2] Arbeitsablauf
[2.1] Neues DRAW-Dokument öffnen.
[2.2] Jeweiliges CALC-Dokument mit den Diagrammen öffnen.
[2.3] Ein CALC-Diagramm mit Maus kopieren und mit Maus im
DRAW-Dokument, z.B. Ebene "Layout", einfügen.
[2.4] Makro Starten mit [Strg][F]: Das Folien-Seitenformat ist jetzt
genauso groß wie das Diagramm.
[2.5] Mit [Datei][Als PDF exportieren...] von dem Diagramm eine
PDF-Datei erstellen.
[2.6] Jetzt nur das Diagramm aus DRAW löschen.
[2.7] Das Folien-Format kann so bleiben. Es wird beim nächsten
Tastendruck wieder automatisch an das nächste eingefügte Diagramm
angepasst.
[2.8] Weiter bei [2.3] ...
Grüße
Hans-Werner
Option Explicit
Sub SeitenFormat_DRAW
'
===================================================================================
Dim oDD as Object ' object Draw Dokument
Dim oF as Object ' object Folie
Dim oZO as Object ' object Zeichnungs Objekt
Dim oZOG as Object ' object Zeichnungs Objekte Gruppierung
Dim iZO as Integer ' index Zeichnungs Objekt
Dim ZOGB as Long ' Zeichnungs Objekte Gruppierung Breite
[1/100mm]
Dim ZOGH as Long ' ZeichnungsObjekteGruppierungHöhe
[1/100mm]
'
-----------------------------------------------------------------------------------
Dim NP as New com.sun.star.awt.Point ' Neue Position
Const SC = "com.sun.star.drawing.ShapeCollection" ' Shape
Collection
Const FN = 0 ' Folie Nummer
'
===================================================================================
oDD = ThisComponent ' initialisieren
DrawDokument
oF = oDD.DrawPages(FN) ' initialisieren Folie
oZO = CreateUnoService(SC) ' initialisieren
ZeichnungsObjekte
For iZO = 0 To oF.getCount()-1 Step 1 ' über ZeichnungsObjekte
oZO.add(oF.getByIndex(iZO)) ' erfassen
ZeichnungsObjekte
Next iZO
oZOG = oF.group(oZO) ' gruppieren Z'Objekte zu
Z'ObjekteGruppe
ZOGB = oZOG.getSize().Width ' bestimmen Breite
Z'ObjekteGruppe
ZOGH = oZOG.getSize().Height ' bestimmen Höhe
Z'ObjekteGruppe
With oF ' Folie:
.Height = ZOGH ' setzen Seite Höhe
.Width = ZOGB ' setzen Seite Breite
.BorderTop = 0 ' setzen Seite oberer Rand
.BorderBottom = 0 ' setzen Seite untere Rand
.BorderLeft = 0 ' setzen Seite linker Rand
.BorderRight = 0 ' setzen Seite rechter Rand
End With
With NP ' Neue Position:
.X = 0 ' setzen X-Position
.Y = 0 ' setzen Y-Position
End With
oZOG.Position = NP ' verschieben
Z'ObjekteGruppe nach (X,Y)
End Sub
-- Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.