AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Unterschied zw. Excel 2010 und 2013 ?
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschied zw. Excel 2010 und 2013 ?

Ein Thema von SearchBot · begonnen am 27. Mär 2015 · letzter Beitrag vom 1. Apr 2015
Antwort Antwort
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#1

Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 00:19
Hallo,

ich habe meine Anwendung, mit der ich über OLE ein Excelsheet öffne (Workbook), auslese und die Daten wieder anders speichere. Das funktioniert mit dem Excel 2010 auf meinem PC (und anderen PCs mit der 2010er Version) einwandfrei.

Jetzt ist auf dem Zielsystem aber Excel 2013 installiert. Hier scheint die OLE nicht zu funktionieren, mein Programm konnektiert zwar Excel, aber das Sheet bietet keine Daten an.

Was könnte da anders sein bzw. wie könnte ich das lösen?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 06:49
Die Antwort lautet wie immer: 42! Mit anderen Worten: Wie soll man dir sagen, was du anders machen müßtest, wenn man gar nicht weiß, was du überhaupt machst? Oder anders ausgedrückt: Ist dein Code so geheim, daß du ihn hier nicht samt Fehlermeldung und der Stelle, an der dieser auftritt, offenbaren kannst?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 07:17
Was könnte da anders sein
* z.B. Virenscanner der OLE verhindert
* z.B. Office-Installation ohne OLE
* z.B. Office-Paket ohne OLE
* z.B. Fehler in der .NET Framework Installation
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 07:32
Oder die 64Bit Version von Office
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 08:30
Oder die 64Bit Version von Office
Sollte bei zugriff über OLE egal sein. Ist ja kein Plugin für Excel.

Zur Liste von Lemmy wäre noch folgendes zu ergänzen:
- Ist die Installation aktiviert?
- Ist es eine Updateinstallation. Also war zu vor eine älter Excelversion drauf die aktualisiert wurde ohne sie vorher vollständig zu deinstallieren.

Ansonsten: Der Fehler ist in der 42 Zeile
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 27. Mär 2015, 11:05
Jetzt ist auf dem Zielsystem aber Excel 2013 installiert. Hier scheint die OLE nicht zu funktionieren, mein Programm konnektiert zwar Excel, aber das Sheet bietet keine Daten an.

Was könnte da anders sein bzw. wie könnte ich das lösen?
Nach meiner Erfahrung sollte Excel2013 so wie Excel2010 und noch ältere Versionen über OLE steuerbar sein. Bei mir klappt's ohne Probleme, ohne eine Zeile Code zu ändern. Bleibt die Frage was genau Du da eigentlich machst.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#7

AW: Unterschied zw. Excel 2010 und 2013 ?

  Alt 1. Apr 2015, 12:54
Hallo und sorry, daß ich erst jetzt antworte, hatte noch was anderes zu bearbeiten
Sorry auch für keinen-Einblick, ich hatte beim Frage-stellen meinen Quelltext nicht parat

Es geht darum, die Spalten auszulesen und in ein Grid zur Weiterverwendung zu kopieren.

Delphi-Quellcode:
procedure TForm1.bt_ExcelConvertClick(Sender: TObject);
//http://www.swissdelphicenter.ch/de/showcode.php?id=156
Const
  xlCellTypeLastCell = $0000000B;
  xlUp = 3;
  xlTextWindows=20;

var
  ColumnRange: OleVariant;
  ExcelApp, Sheet: OleVariant;
  Matrix: Variant;
  ex:TSortGrid;
  x,y,i:integer;
  clip:TClipBoard;
  ExRan:boolean; //lief Excel zuvor? Dann nicht schließen!

function OpenExcel(filename:string):integer; //Rückgabe: Anzahl Zeilen
begin
  try
   ExcelApp.Workbooks.Open(Filename);

   Sheet:=ExcelApp.Workbooks[1].WorkSheets[1];
   Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
    // Get the value of the last row
   result := ExcelApp.ActiveCell.Row;
  except
   result:=0;
  end;
end;

begin
  { Start Excel }
  Memo1.Lines.Add('Kontaktiere Excel...');
  try
    ExcelApp := GetActiveOleObject('Excel.Application');
    ExRan:=true;
  except
    ExRan:=false;
    try
      ExcelApp := CreateOleObject('Excel.Application');
    except
      Memo1.Lines.Add('...gescheitert.');
      ShowMessage(ExcelNichtDa);
      ExcelStatus:=0;
      Exit;
    end;
  end;
  Memo1.Lines.Add('...erfolgreich!'#13);
   ExcelStatus:=2;

   ex:=TSortGrid.createParented(Form1.Handle);

{...}
       x:=OpenExcel(edit1.Text);

       if x>0 then begin
        ex.RowCount := x;
        ex.ColCount := 5;

        clip:=TClipBoard.Create;
        Memo1.Lines.Add('Extrahiere Daten...');
        ExcelApp.Range['A1','A1'].EntireRow.Delete(xlUp);

        for I := 1 to ex.ColCount do begin
         ExcelApp.Range[chr(ord('A')+(i-1))+inttostr(i),chr(ord('A')+(i-1))+inttostr(i)].EntireColumn.Copy(EmptyParam);
         ex.Cols[i-1].text:=Clip.asText;
         Application.ProcessMessages;
        end;
{...}
       end else showError; //also Tabelle hat keinen Inhalt, blabla
Das Problem müsste also im OpenExcel stecken, weil bei Version 2010 gehts, bei Version 2013 nicht (zumindest am Zielrechner ist das so).
  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:12 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