Das ist aber eigentlich nicht so fein... falls die Excel Sheets beispielsweise in einem Verzeichnis mit ungenügenden Schreibrechten liegen, kracht's jedesmal. Gibt's denn keine Möglichkeit die Anzeige des Dialogs zu unterdrücken ? Ich lese aus den Sheets ja nur aus.
Sowohl Word als auch Excel haben eine sehr eigene Auffassung von "Änderungen" darum quitiere ich beide immer mit "nicht speichern" wenn es keine Datenänderung gibt.
Ich habe leider kein Excel zur Hand, aber es müßte einen Parameter "NoSave" oder so ähnlich geben. Schau doch mal in die VBA-Hilfe, da solltest Du eigentlich alles notwendige finden.
Gruß
K-H
Edith:
@Lemmy
Es sieht wirklich nach einem Tippfehler aus:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var sValue, filename: String;
begin
filename:=ExtractFilePath(ParamStr(0))+'Mappe1.xls';
ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Open(filename,
emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,
emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,
emptyParam, flcid));
ExcelWorksheet.ConnectTo(ExcelWorkbook1.Sheets.Item[1] as
ExcelWorkSheet);
sValue:=ExcelWorksheet.Range['B1','B1'].Value;
MessageDlg(sValue, mtInformation, [mbOK], 0);
end;
Edith2:
Hier kann man sich den richtigen Paramer raussuchen:
http://www.ozgrid.com/VBA/prevent-save-prompt.htm