AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Chart positionieren

Ein Thema von Sidi61 · begonnen am 8. Dez 2016 · letzter Beitrag vom 12. Dez 2016
Antwort Antwort
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#1

AW: Excel Chart positionieren

  Alt 9. Dez 2016, 22:15
Hallo nahpets,

so wie dein Beispiel zeichnet das Excel Makro auf Shapes("Diagramm 1") - das lässt sich natürlich nicht compilieren.

Ein Versuch mit Shapes('"Diagramm 1"') oder Shapes('Diagramm 1') erzeugt den Fehler: Mitglied nicht gefunden.

Damit komme ich leider nicht weiter.

Gruß
Sidi61
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Excel Chart positionieren

  Alt 11. Dez 2016, 22:59
Hallo zusammen,

nach dem ich nach unzähligen Versuchen nicht zum Erfolg gelangt bin, habe ich nun einen anderen Ansatz probiert der soweit zu funktionieren scheint

Hatte ich zuvor das Diagram wie folgt erzeugt:

Diagramm := ExcelApp.ActiveWorkbook.Charts.Add habe ich es jetzt wie folgt erzeugt:

Diagramm := ExcelApp.ActiveWorkbook.Sheets[1].ChartObjects.Add(10,100,400,200); Hier kann ich die erforderlichen Parameter übergeben: Abstand links, Abstand oben, Chartbreite, Charthöhe.

Die Angaben entsprechen jedoch nicht Millimeter-Werten, eine Umrechnung wie bei Zeilenhöhe und Spaltenbreite passt hier auch nicht.

Weiß jemand welche Einheit diese Parameter darstellen und wie hier auf mm umgerechnet werden kann??

Übrigends, das Ausrichten an einer Zelle funktioniert hier auch:

Delphi-Quellcode:
Z := ExcelApp.ActiveWorkbook.Sheets[1].Range['D20'];
Diagramm.Left := Z.Left;
Diagramm.Top := Z.Top;
Gruß
Sidi61
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Excel Chart positionieren

  Alt 11. Dez 2016, 23:26
Ich bin´s noch mal

Anscheinend sei die Maßeinheit 72 Punkte je Zoll.

Ich habe mal wie folgt umgerechnet:

Delphi-Quellcode:
//Test:
  //15 mm Abstand zum linken Druckbereich
  PosL := round(15 / 25.4 * 72);
  //50 mm Abstand zum oberen Druckbereich
  PosT := round(50 / 25.4 * 72);
  //120 mm Breites Chart
  ChartW := round(120 / 25.4 * 72);
  //100 mm Hohes Chart
  ChartH := round(100 / 25.4 * 72);

  //Parameter: Pos Left, Pos Top, Breite, Höhe
  Diagramm := ExcelApp.ActiveWorkbook.Sheets[Daten.DatenblattNummer].ChartObjects.Add(PosL,PosT,ChartW,ChartH);
Die Zielwerte sind nah drann - der Abstand zum linken Druckberich stimmt, die 50 mm zum oberen Druckbereich sind gemessen 48 mm, die Diagrammbreite hat statt 120 mm gemessen 130 mm und die Diagrammhöhe statt 100 gemessen 97 mm.

Geht das nicht genauer??

Gruß
Sidi61
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Excel Chart positionieren

  Alt 12. Dez 2016, 09:32
Hallo nahpets,

so wie dein Beispiel zeichnet das Excel Makro auf Shapes("Diagramm 1") - das lässt sich natürlich nicht compilieren.

Ein Versuch mit Shapes('"Diagramm 1"') oder Shapes('Diagramm 1') erzeugt den Fehler: Mitglied nicht gefunden.

Damit komme ich leider nicht weiter.

Gruß
Sidi61
Hat mit der Sache nix zu tun, aber nur um das aufzuklären: In Delphi muss man natürlich eckige Klammern nehmen.

Das man bei Excel darauf achten muss, ob man ein Chart hinzufügt oder ob man auf einem Worksheet ein Chart hinzufügt, hast du ja schon gemerkt.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz