Announcement

Collapse
No announcement yet.

Autotexte anhand von mehreren Word.dots in einem Worddokument mit abspeichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Autotexte anhand von mehreren Word.dots in einem Worddokument mit abspeichern

    Hallo, habe folgendes Problem,

    Ich füge in meinem Programm über

    while not Eof do
    begin
    Word.AddIns.Add(FieldByName('Bausteine').AsString) ;
    Next;
    end;

    meiner Wordapplication Worlagendateien hinzu, um deren Autotexte in einem Dokument verwenden zu können, das ich danach erstelle.

    Speichere ich dann das Dokument und schließe dann Word und rufe das gespeicherte Dokument aus dem Explorer wieder auf, so dass sich Word wieder öffnet, dann kann ich nicht mehr auf die Autotexte der anderen Vorlage, die ich vorher mit der Wordapplication verbunden habe, zugreifen. schaue ich unter Einfügen-> Autotext die Vorlagen an, so habe ich nur die Normal.dot im Zugriff.
    Wie kann ich diese Vorlagen dem Dokument zuweisen und Sie zudem abspeichern, damit ich auch nach dem Speichern und Wiederöffnen auf die Autotexte der anderen Vorlagen zugreifen kann?

    Habe es schon mit Word.ActiveDocument.AttachedTemplate := FieldByName('Bausteine').AsString;

    versucht, so kann ich aber leider nur eine Vorlage zu dem Dokument hinterlegen, nicht mehrere, brauche aber mehrere.

    Bitte um eine schnelle Antwort.

    MFG

  • #2
    Ich habe jetzt nicht nachgeschaut, aber ist es möglich, dass Du die hinzugefügten AddIns erst noch aktivieren musst? (Evtl. mit Neustart von Word).<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Das funktioniert auch nicht, vielleicht eine andere Idee

      Comment


      • #4
        Hallo,

        die eigenen AutoTexte müssen bereits der eigenen DOT-Datei, aber nicht erst dem davon abgeleiteten Dokument (*.DOC) hinzugefügt werden. Die Kollektion <i>ActiveDocument.AttachedTemplate.AutoTextEntries </i> sieht immer nur die AutoTexte der aktuell verwendeten DOT-Vorlage. Wenn alle AutoTexte aller DOT-Vorlagen benötigt werden, könnte man mit Hilfe der <i>OrganizerCopy</i>-Methode die Einträge aus den temporär angelegten Hilfsdokumenten von diesen DOT-Vorlange in das aktuelle Dokument kopieren.

        Comment


        • #5
          <PRE>while not query.Eof do
          begin
          Word.ActiveDocument.AttachedTemplate := FieldByName('Bausteine').AsString;
          for i := 1 to Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Count do
          begin
          Word.Application.OrganizerCopy(Word.ActiveDocument .AttachedTemplate.FullName,
          Word.ActiveDocument.FullName,
          Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Item(i).Name,1);
          end;
          Next;
          end;
          </PRE&gt

          Comment


          • #6
            Hallo Herr Kosch,
            habe folgendes versucht,bekomme jetzt aber den Fehler Befehl misslungen.
            Was kann ich noch auprobieren oder was mache ich noch falsch?

            <PRE>
            while not Eof do
            begin
            Word.ActiveDocument.AttachedTemplate := FieldByName('Bausteine').AsString;
            //Word.AddIns.Add(FieldByName('Bausteine').AsString) ;

            for i := 1 to Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Count do
            begin
            Word.Application.OrganizerCopy(Word.ActiveDocument .AttachedTemplate.FullName,
            Word.ActiveDocument.FullName,
            Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Item(i).Name,
            1);
            end;
            Next;
            end;</PRE&gt

            Comment


            • #7
              Hallo Herr Kosch, habe folgendes probiert, bekomme jetzt aber den Fehler: Befehl misslungen. Was kann ich noch tun oder was mache ich falsch.
              <PRE>
              while not Eof do
              begin
              Word.ActiveDocument.AttachedTemplate := FieldByName('Bausteine').AsString;
              //Word.AddIns.Add(FieldByName('Bausteine').AsString) ;

              for i := 1 to Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Count do
              begin
              Word.Application.OrganizerCopy(Word.ActiveDocument .AttachedTemplate.FullName,
              Word.ActiveDocument.FullName,
              Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Item(i).Name,
              1);
              end;
              Next;
              end;
              </PRE&gt

              Comment


              • #8
                Hallo Herr Kosch, habe folgendes versucht,bekomme jetzt aber den Fehler Befehl misslungen. Was kann ich noch auprobieren oder was mache ich noch falsch?
                <PRE>

                while not Eof do
                begin
                Word.ActiveDocument.AttachedTemplate := FieldByName('Bausteine').AsString;
                //Word.AddIns.Add(FieldByName('Bausteine').AsString) ; for i := 1 to Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Count do
                begin
                Word.Application.OrganizerCopy(Word.ActiveDocument .AttachedTemplate.FullName,
                Word.ActiveDocument.FullName,
                Word.ActiveDocument.AttachedTemplate.AutoTextEntri es.Item(i).Name,
                1);
                end;
                Next;
                end;
                </PRE&gt

                Comment


                • #9
                  Hallo Herr Kosch, bitte schauen Sie noch mal nach, was an meinem Quellcode nicht richtig ist. Ich komme nämlich überhaupt nicht weiter.

                  Gruss S.Weh

                  Comment


                  • #10
                    Kann mir denn keiner helfen?
                    Bitte schaut euch diese einträge noch mal an.
                    Brauche es wirklich.

                    MF

                    Comment

                    Working...
                    X