![]() |
Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo
Ich würde gerne Excel automatisieren, jedoch scheitere ich schon bei dem Import der TypeLibrary. Egal wie ich versuche die Microsoft Excel 12.0 Object Library zu installiere, scheitere ich. Folgende meldungen bekomme ich. Zusammengekürzt auf die Fehler, Zeilentechnisch sind es schon mehr. Zitat:
Delphi 2010 Professional Microsoft Office 2007 Home and Student Vorgegangen bin ich wie folgt: Komponente / Komponente Importieren / Typenbibliothek / Microsoft Excel 12 ... Klassennamen nicht verändert. Palettenseite: (none) Rest ebenfalls so gelassen wie vorgegeben. Habe es einmal mit Komponenten Wrapper versucht und einmal ohne. Könnte mir hierbei jemand helfen? Gruß Daniel |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo,
Du brauchst nicht die Typbibliothek für Office 2007 importieren. Die Office XP Komponenten sind eigentlich schon mitinstalliert, gegebenfalls mußt Du unter Packages noch einen Haken setzen. |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Ahh. Diese sind unter Beispiele geführt.
Die XP Komponenten sind aber auch 2007 kompatibel? Beantwortet hat dies, auch wenn es nun vermutlich geht, die eigentliche Frage. Es müsste doch möglich sein dies über die TypenBibliothek gehen. Muss es morgen mal testen. Habe hier keine IDE und kein Excel drauf. Danke schon einmal für die schnelle Antwort |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo,
die Office-XP Komponenten funktionieren. Das ist das Gute an COM (OLE), einmal eingeführte Schnittstellen (Interfaces) funktionieren auch in späteren Office Versionen, für neuere Funktionalitäten werden dann neue Intefaces "aufgemacht", allerdings habe ich noch keine Funktionalitäten vermisst (allerdings beschränken sich meine Versuche aufs Austesten, was so geht). Es kann sein, falls Du schon "vorgefertigte" Codeschnipsel von irgendwo hast, das die Anzahl der Parameter, die deine Delphiversion verlangt, von deinem Schnipsel abweicht, meistens helfen dann ein paar "EmptyParam" zusätzlich schon weiter. Für die Suche im Internet wären "Deborah Pate (TeamB)" oder "Binh Ly" gute Anlaufpunkte, viele der gängigen "How to ..." in Bezug auf Office sind ursprünglich von ihnen, egal wer jetzt seinen Namen darunterschreibt :). Gruß Thomas |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Danke, ich werds mal ausprobieren.
Ich brauche es nicht für sehr umfangreiche dinge, zumindest bis jetzt... Es soll einfach eine Preisliste aus MySQL ans Excel übergeben werden, natürlich mit ein paar Formatierungen, Hintergrundfarbe, Textfarbe, Zellen -höhe/-breite. Vielleicht auch mal eine kleine Formel düe übergeben wird. Das ganze ist ein Test, ob das mit Delphi und ein wenig Automatisierung besser klappt als es zu Fuß zu machen. Hierbei dürfen die Breite des Dokumentes nicht überschritten werden und die Länge ebenfalls nicht Dann muss eine neue "Seite" her. Gruß Daniel |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo,
ich habe selbst einmal für ein Projekt den Report mit Word erstellt inklusive Kopf und Fußzeile, Seitenzahlen etc. Falls Du einen Ansatz brauchst, wie dies oder das mit Delphi zu lösen ist, nutze in Word die Macrofunktion, zeichne die Arbeitschritte auf, die Du normalerweise in Word machen würdest und den von Word erzeugten VBA Code kannst Du zu großen Teilen (mit kleinen Delphi spezifischen Änderungen) in Dein Projekt übernehmen. Gruß Thomas |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo
Ich habs nun am Laufen. Durch mehrere Seiten habe ich nun auch einiges abgedeckt in einer kleinen Demo App. Was aber noch Fehlt sind Methoden um den Zellenrahmen zu entfernen, Rahmenteile definieren und in dem Quelltext den ich bisher habe, kann ich auch nur rahmenstärke von 1-4 setzen aber in Excel ansich gibts ja noch mehr, mit Punkten z.B. natürich noch die Methoden wie Rahmenfarbe. Wo kann ich die Doku finden, was alles möglich ist und welche Werte ich einsetzen muss? z.B. sowas:
Delphi-Quellcode:
// SheetType
xlChart = -4109; xlWorksheet = -4167; // WBATemplate xlWBATWorksheet = -4167; xlWBATChart = -4109; // Page Setup xlPortrait = 1; xlLandscape = 2; xlPaperA4 = 9; // Format Cells xlBottom = -4107; xlLeft = -4131; xlRight = -4152; xlTop = -4160; // Text Alignment xlHAlignCenter = -4108; xlVAlignCenter = -4108; // Cell Borders xlThick = 4; xlThin = 2; |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo Cyberaxx,
die Doku ist die Hilfe von VBA in Excel, wie madtom schon geschrieben hat, kommt man am besten zum Ziel, wenn man sich einen Macro aufzeichnet und diesen dann in Delphi nachbildet.
Delphi-Quellcode:
Damit wird die Zelle A2 markiert und auf der linken Seite mit einem blauen Rahmen versehen.
olevEXCEL.range['A2','A2'].Select; // Die Zelle A2
olevEXCEL.Selection.Borders[xlEdgeLeft].LineStyle := xlDashDot; olevEXCEL.Selection.Borders[xlEdgeLeft].ColorIndex := 5; // blau olevEXCEL.Selection.Borders[xlEdgeLeft].TintAndShade := 0; olevEXCEL.Selection.Borders[xlEdgeLeft].Weight := xlMedium; Bis bald Chemiker |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo
Weder das eine noch das andere mag mein Excel 2007 Die Zelle A2 wird zwar selektiert aber es kommt kein Rahmen. Wenn ich den Makro Recorder benutze sieht es genau so aus. Egal was ich nutze es taucht nicht in Excel auf.
Code:
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Color = -16777024 .TintAndShade = 0 .Weight = xlThin End With
Delphi-Quellcode:
Hier passiert ebenfalls nichts weiter als der Range selekt.
Excel.Range['A1:L3'].Select;
Excel.Selection.Borders[xlDiagonalDown].LineStyle := xlNone; Excel.Selection.Borders[xlDiagonalUp].LineStyle := xlNone; Excel.Selection.Borders[xlEdgeLeft].LineStyle := xlNone; Excel.Selection.Borders[xlEdgeTop].LineStyle := xlContinuous; Excel.Selection.Borders[xlEdgeTop].Color := -16777024; Excel.Selection.Borders[xlEdgeTop].TintAndShade := 0; Excel.Selection.Borders[xlEdgeTop].Weight := xlThin; ![]() Das hier hingegen funktioniert ohne Probleme es deckt nur leider nicht alles ab was ich benötige. Wo steckt hier nur der Fehler? |
AW: Delphi 2010 Professional & Excel 2007 TypeLibrary Probleme
Hallo Cyberaxx,
als bei mir funktioniert Dein Quellcode. Vielleicht ist das Worksheet nicht aktiviert.
Delphi-Quellcode:
Bis bald Chemiker
olevEXCEL.ActiveWorkbook.Worksheets['Tabelle1'];
olevEXCEL.range['A2','B2'].Select; ... ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 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