AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SaveAs bei Word-Automation speichert nicht?

Ein Thema von Angel4585 · begonnen am 15. Okt 2012 · letzter Beitrag vom 15. Okt 2012
 
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

SaveAs bei Word-Automation speichert nicht?

  Alt 15. Okt 2012, 10:31
Guten Tag!

ich hab folgendes Problem:
Ich habe x RTF/Word-Dokumente in einem Ordner und möchte jedes davon öffnen und mit SaveAs wieder speichern.
Mein Code sieht folgendemaßen aus:

Delphi-Quellcode:
procedure OpenSaveDocs(AList : TStringList);
var
i : integer;
Word : Variant;
varFalse : OleVariant;
begin
// Word starten
  try
    Screen.Cursor := crHourglass;
    try
      Word := CreateOleObject('Word.Application');
      Word.NormalTemplate.Saved := true;
    finally
      Screen.Cursor := crDefault;
    end;
  except
    raise ECantStartWordException.Create('Word konnte nicht gestartet werden.');
  end;

  try
    for i := 0 to AList.Count - 1 do
      try
        varFalse := false;
        //Dokument öffnen und speichern
        Word.Documents.Open(AList[i],
          varFalse, varFalse,
          varFalse, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, varFalse);
        Word.ActiveDocument.SaveAs(
          AList[i] , 6,
          EmptyParam, EmptyParam,
          varFalse , EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam,
          EmptyParam, EmptyParam
        );
        Word.ActiveDocument.Close;
      except
        on e:exception do
          begin
          ShowMessage(e.Message);
          end;
      end;
  finally
    Word.Quit;
  end;
Es wird alles ausgeführt, Dokumente werden geöffent bzw die tempdateien dazu angelegt udn wieder entfernt. Aber das Änderungsdatum ändert sich nicht. Also gehe ich davon aus, dass die SaveAs Funktion nicht tut was sie soll.
Nein ich mache das nicht um das Datum zu ändern. Ich habe in der Registry das Flag '0' gesetzt, wodurch Bilder zusätzlich als Kopie/Metainformation abgespeichert werden und RTF Dokumente sehr groß werden.
nun möchte ich nicht 10.000 Dokumente von Hand durchlaufen und öffnen und speichern und schreibe deswegen diese kleine Funktion.

Leider weis ich nicht was genau ich hier falsch mache.
Kann mir jemand helfen und einen Tipp geben?


Edit: Das Problem besteht auch nur beim überspeichern der Dateien, wenn ich die Dateien unter einem anderen Namen speichere klappt das.
seltsam, dabei gibts doch kein overwrite-flag oder sowas...
Martin Weber
Ich bin ein Rüsselmops

Geändert von Angel4585 (15. Okt 2012 um 10:53 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz