2016-04-11 12 views
1

Ich habe eine Excel-Datei, die ein Format für die Daten enthält, die darin übergeben werden. Kann mir jemand helfen, eine vorhandene Excel-Datei zu öffnen?Aufrufen vorhandener Excel-Datei mit OLE - Delphi

var 
    myExcel:variant; 
begin 
    myExcel:=CreateOleObject('Excel.application'); 
    myExcel.caption:='Summary of Check Issued'; 
    myExcel.visible:=false; 
    myexcel.workbooks.add(1); 
end 

Diese Anweisung erstellt eine neue Excel-Datei, aber was ich will, ist eine Anweisung, nur meine vorhandene Excel-Datei zu öffnen.

+0

Es gibt eine allgemeine Regel, wie man diese Art von Fragen löst. Starten Sie Excel - fgo zum Menü (anders in der Excel-Version, wenn Sie das Classic-Menü nicht installiert haben) und schalten Sie den ** Makro-Recorder ** ein - Sie tun, was Sie brauchen, wie Dateien öffnen oder das Zellenformat ändern. Dann gehst du zurück zum Dialog ** macros ** mnager, stoppst den Rekorder und startest das Bearbeiten des neuen Makros - das Makro wäre ein VBA-Programm, das das macht, was du gerade mit Maus und Tastatur gemacht hast. Sie übersetzen dann einfach das fertige Programm von VBA nach Delphi und hier ist es. –

Antwort

2

Die genaue Zeile Code Sie suchen, ist:

var 
    ExcelFile : Variant; 
    WorkBook : Variant; 
    WorkSheet : Variant; 

begin 

    // Open Excel OLE 
    ExcelFile := CreateOleObject('Excel.Application'); 

    // Handle WoorkBook 
    if not VarIsNull(ExcelFile) then begin 
     WorkBook := ExcelFile.WorkBooks.Open('yourfilename.xls'); 

     if not VarIsNull(WorkBook) then begin 
     // Handle Sheet 
      WorkSheet := WorkBook.WorkSheets.Item['yourSheetName']; 
     end; 

    end; 

zu this article für nähere Informationen siehe:

WorkBook := ExcelFile.WorkBooks.Open('yourfilename.xls'); 

Der vollständige Code wie folgt aussehen könnte.

+0

Hallo. Ich habe einen Fehler "Leider konnten wir Account.xls nicht finden". Wir sollten die Datei ablegen? Ich habe es bereits in den Ordner eingefügt, in dem sich mein Projekt befindet – user3505049

+0

Ich habe auch versucht, WorkBook: = myExcel.WorkBooks.Open ('D: \ files \ project \ Account.xls'), aber es hat immer noch den gleichen Fehler – user3505049

+0

Zuerst stellen Sie sicher, dass Ihre Datei hat die Erweiterung '.xls'. Wenn Sie die Datei mit einer anderen als der von mir verwendeten Excel-Version erstellt haben, hat sie möglicherweise eine etwas andere Erweiterung, möglicherweise '.xlsx'. Wenn das nicht funktioniert, ersetzen Sie 'yourfilename.xls' durch den vollständigen Pfad zur Datei, der wie' c: \ users \ tom \ documents \ account.xls' aussieht. –

Verwandte Themen