AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi unit Excel97: Range in D5 aber nicht in D7
Thema durchsuchen
Ansicht
Themen-Optionen

unit Excel97: Range in D5 aber nicht in D7

Ein Thema von MaBuSE · begonnen am 1. Dez 2005 · letzter Beitrag vom 1. Dez 2005
Antwort Antwort
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 10:29
Hallo,
heute wende ich mich mal wieder mit einem kleinen Problem an Euch.

Ich habe eine Delphi 5 Anwendung die aus $(DELPHI)\Imports die Unit Excel97 eingebunden hat.

Es wird aus dieser Unit Range verwendet.var r: Range; In Delphi 7 ist in der Unit Excel97 kein Range definiert.

Die 2 Unit Excel97 scheint in Delphi7 nicht zu der in Delphi 5 kompatibel zu sein.

in der Unit ExcelXP ist auch kein Range definiert.

Was mach ich nun am besten?

Ich muss das Programm von D5 nach D7 portieren und möchte aber nichts an der Funktionalität ändern.

Über eine Antwort würde ich mich freuen.

Euer MaBuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 10:40
Hallo MaBuSe,

wie wäre es mit ExcelRange?

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 10:59
Danke für die schnelle Antwort.
Zitat von marabu:
wie wäre es mit ExcelRange?
Das gibt es zumindest

Aber die Eigenschaft Value hat sich im Typ geändert. Es gibt aber noch eine Eigenschaft Value2 die Passen würde (weil Variant).
Entspricht Delphi7.Excel97.ExcelRange.Value2 demDelphi5.Excel97.Range.Value ?
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 11:17
Sind eigentlich beide vom Typ OleVariant, aber ein Unterschied ist da schon:

Aus der MS Excel Referenz
Der einzige Unterschied zwischen dieser Eigenschaft (Value2) und der Value-Eigenschaft besteht darin, dass die Value2-Eigenschaft die Datentypen Currency und Date nicht verwendet. Sie können auf Werte, die mit diesen Datentypen formatiert sind, als Gleitkommazahlen zugreifen, indem Sie den Datentyp Double verwenden.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 11:52
Zitat von marabu:
Sind eigentlich beide vom Typ OleVariant, aber ein Unterschied ist da schon:
In Delphi5 stimmt das:
Delphi-Quellcode:
...
  Range=interface (System.IDispatch)
    ['{00020846-0000-0000-C000-000000000046}']
  public
...
    property Value: System.OleVariant dispid $6;
    property Value2: System.OleVariant dispid $56C;
...
  end;
...
Aber in Delphi 7 gibt einen Syntaxfehler:
(FSheet.Range ist vom Typ ExcelRange)
Delphi-Quellcode:
...
  FSheet.ConnectTo(FExcelWork.Sheets.Item[1] as ExcelWorksheet);
  FSheet.Range['B1', 'B1'].Value := FCbKag.Text;
...
Fehlermeldung beim Kompilieren
[Fehler] FrmProdukt.pas(958): '[' erwartet, aber ':=' gefunden

(Ich weiß, ein Feld kann auch eleganter ohne Range zugewiesen werden, aber ich will den ursprünglichen Quelltext und damit das Verhalten so wenig wie möglich ändern. Das ist nicht von mir programmiert, ich muß nur portieren.)
Das Tooltip zeigt folgendes:
prop ExcelRange.Value: [RangeValueDataType: OleVariant]: OleVariant - ExcelXP.pas


Hmmm, da steht ExcelXP, die hat er automatisch eingebunden, weil in dem Delphi7 natürlich das OfficeXP Package installiert ist.

Ich muß das mal Testen, evtl lasse ich dann das Ganze auf OfficeXP.

Ansonsten hast du Recht, habe nachgeschaut, das ist ein unterschied zw. Excel97.ExcelRange und ExcelXP.ExcelRange.

Danke noch mals
MabuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 12:51
So geht das:

Delphi-Quellcode:
uses
  ExcelXP,
  Windows;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  wb: ExcelWorkbook;
  ws: ExcelWorkSheet;
  r: ExcelRange;
begin
  xl.Connect;
  wb := xl.WorkBooks.Add(null, GetUserDefaultLCID);
  ws := wb.Sheets.Add(null, null, 1, null, GetUserDefaultLCID) as ExcelWorkSheet;
  r := ws.Range['B1', 'B1'];
  r.Value2 := 'marabu';
  ShowMessage(r.Value2);
  xl.Disconnect;
end;
marabu
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: unit Excel97: Range in D5 aber nicht in D7

  Alt 1. Dez 2005, 12:55
Zitat von marabu:
So geht das:
Danke, genau so hatte ich es gemacht. (Deswegen die Frage nach dem values2 weiter oben)
Das Projekt ist nun portiert, nun muß von der Fachabteilung getestet werden
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 02:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz