Hmm...
Word öffnet Dateien vom Netzwerk oder per Email/Internet erhaltene sowie Schreibgeschützte/mit Passwort versehene Dateien immer im 'Lesemodus'.
Unter den Optionen von Word kann das abgeschaltet werden.
Alternativ kann die Ansicht von 'Lesemodus' auf einen anderen Modus auch per
Ole umgestellt werden:
Delphi-Quellcode:
const
wdDoNotSaveChanges = $00000000;
wdSaveChanges = $FFFFFFFF;
wdPromptToSaveChanges = $FFFFFFFE;
const
wdNormalView = 1; // Normalansicht. (Ohne Lineal)
wdOutlineView = 2; // Gliederungsansicht. Nicht in Geschütztmodus
wdPrintView = 3; // Seitenansicht
wdPrintPreview = 4; // Druckvorschau
wdMasterView = 5; // Masteransicht.
wdWebView = 6; // Webansicht.
wdReadingView = 7; // Leseansicht.
var
WordApp : OleVariant;
Doc : OleVariant;
SaveChanges: OleVariant;
begin
WordApp := CreateOLEObject('Word.Application'); // Word-Verbindung zu neuem Word
try
WordApp.Documents.Open(Edit1.Text); // Datei laden
try
Doc := WordApp.ActiveDocument;
if WordApp.ActiveWindow.View.Type = wdReadingView then
// Umschalten von einem Lesemoduses in den Standardmodus.
WordApp.ActiveWindow.View.Type := wdPrintView;
if not Doc.ReadOnly then begin // Wenn nicht ReadOnly
// Mach damit was...
SaveChanges := wdSaveChanges;
WordApp.Quit(SaveChanges, EmptyParam, EmptyParam); // Word Schließen mit speichern
end;
except
WordApp.Visible := true; // Auf jedenfall sichtbar machen, wenn ein Fehler auftritt
end;
finally
WordApp := Unassigned; // Verbindung lösen
end;
end;