AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mehrere Excel-Dateien bearbeiten

Ein Thema von delphinewbie · begonnen am 6. Dez 2011 · letzter Beitrag vom 13. Dez 2011
Antwort Antwort
Jumpy

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

AW: Mehrere Excel-Dateien bearbeiten

  Alt 7. Dez 2011, 20:57
Sieht sehr interessant aus. Wir haben den Zugriff auch meist in einer Klasse gekapselt, haben aber nur ein paar Sonderfunktionen, die wir oft brauchen eingebaut. Für alles, was davon abweicht, müssen wir dann doch wieder weit durchgreifen, ala Excelklasse.Workbook.Worksheet....
Einzige weitere Erleichterung sind ein paar benannte Konstanten, sodass man VBA-Code nahezu 1 zu 1 übernehmen kann.
Ralph
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Mehrere Excel-Dateien bearbeiten

  Alt 8. Dez 2011, 11:31
Wir haben den Zugriff auch meist in einer Klasse gekapselt, haben aber nur ein paar Sonderfunktionen, die wir oft brauchen eingebaut. Für alles, was davon abweicht, müssen wir dann doch wieder weit durchgreifen, ala Excelklasse.Workbook.Worksheet....
Aber immerhin eine große Menge der üblicherweise notwendigen Zugriffe auf Excel lassen sich durch die Verwendung einer Klasse extrem leicht behandeln, wenn man sich die (einmalig nicht unerhebliche) Mühe gemacht hat, diese Methoden zu implementieren, wie es u.a. möglich ist für
* wahlfreie Zugriffe auf verschiedene, gleichzeitig geöffnete Workbooks und deren einzelne Worksheets (wie oben gezeigt),
* Eingabe und Auslesen einzelner Zellen oder ganzer Bereiche eines Worksheets,
* Formatierung einer Zelle im Worksheet (Schrift, Farbe, Style),
* Kopieren eines bestimmten Bereiches aus einem Worksheet in die Zwischenablage,
* Übertragung eines Stringgrids in ein Worksheet oder vice versa,
* Vorgaben zur Grafikdarstellung im Worksheet,
* Pagelayout für die Druckausgabe (Header, Footer, Seitengröße, Ränder, Portrait vs. Landscape, FitToPage)

Das einzige, was bei mir merwürdigerweise bisher nicht geklappt hat, ist die Übertragung einer Grafik aus einem Excel-Worksheet in den Positionsrahmen eines gleichzeitig geöffneten Winword-Dokumentes mittels ausschließlicher Anweisung per Delphicode.
  Mit Zitat antworten Zitat
Jumpy

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

AW: Mehrere Excel-Dateien bearbeiten

  Alt 8. Dez 2011, 14:40
Ist den das Frame Objekt von außen nicht erreichbar?
Per VBA in Excel geht sowas (war Neugierig):

Code:
Sub Test()
Dim w As Word.Application
Dim d As Word.Document
Dim f As Word.Frame

    ActiveSheet.ChartObjects("Diagramm 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartArea.Copy
       
    Set w = New Word.Application
    w.Visible = True
   
    Set d = w.Documents.Add
    d.Activate
   
    Set f = d.Frames.Add(w.Selection.Range)
    f.Range.Select
   
    w.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
                                    :=wdFloatOverText, DisplayAsIcon:=False
   
    '...
End Sub
Die Grafik wird im Positionsrahmen verankert, ist aber größer als dieser. Mit einfach nur Selection.Paste wird sie als Grafik in den Rahmen gequetscht. Wenn ich mal Zeit hab, probier ich das auch nochmal von Delphi aus.
Ralph
  Mit Zitat antworten Zitat
delphinewbie

Registriert seit: 27. Aug 2010
47 Beiträge
 
#4

AW: Mehrere Excel-Dateien bearbeiten

  Alt 13. Dez 2011, 10:32
So, nun bin ich nach einwöchiger Auszeit endlich wieder da.
Vielen Dank für Eure Tipps. Ich habe mich erstmal an jumpys Methode (#4) orientiert und es hat
super geklappt. Soweit reicht mir das auch schon. Das einzige, was bei mir nicht funzt:
Wenn zwei Excel-Mappen bereits geöffnet sind, möchte ich jeweils die Mappe anzeigen, in die
gerade geschrieben wurde.
w1 zeigt auf Mappe1; w2 auf Mappe2; ws1 zeigt z.B. auf Sheet2 der Mappe1; ws2 auf Sheet1 der Mappe2
Mit bspw. w1.Activate oder ws1.Activate funzt das bei mir nicht.
Ist Activate dazu überhaupt die richtige Methode? Oder bin ich da noch auf dem Holzweg?


Trotzdem erstmal vielen Dank für Eure Hilfen. Es ist gut zu wissen, wo man selbst für diese sicherlich
trivialen Probleme eine Lösung findet und nicht gleich als Depp hingestellt wird.

MfG
delphinewbie

Geändert von delphinewbie (13. Dez 2011 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:48 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