Franzi: Text in ein Word-Objekt an eine Textmarke schreiben

Ich möchte aus einer php-Seite heraus ein Word-Dokument öffnen, und an bestimmte Textmarken im Text etwas einfügen.

das mit dem öffnen funktioniert, aber wie kann ich an die Textmarke springen und dort etwas einfügen?

Der Befehl müsste doch so ähnlich lauten, wie:

($word ist ein Wordobjekt, ein Dokument wurde geöffnet)

$word->Selection->GoTo("Textmarke", , ,"NameTextmarke");
$word->Selection->TypeText("einzufügender Text");

So funktioniert's leider nicht!
Kann mir irgendjemand einen Tipp geben, wie der Befehl richtig heißen müsste?

  1. Ich möchte aus einer php-Seite heraus ein Word-Dokument öffnen, und an bestimmte Textmarken im Text etwas einfügen.

    das mit dem öffnen funktioniert, aber wie kann ich an die Textmarke springen und dort etwas einfügen?

    Der Befehl müsste doch so ähnlich lauten, wie:

    ($word ist ein Wordobjekt, ein Dokument wurde geöffnet)

    $word->Selection->GoTo("Textmarke", , ,"NameTextmarke");
    $word->Selection->TypeText("einzufügender Text");

    So funktioniert's leider nicht!
    Kann mir irgendjemand einen Tipp geben, wie der Befehl richtig heißen müsste?

    Ich gehe davon aus, daß Du sowas gemacht hast?:
    $word = new COM("C:\docs\word.doc");

    Grundsätzlich kann ich nur sagen, daß sämtliche Nutzungen von COM aus anderen Programmiersprachen außer Basic immer etwas kompliziert ist. Ich habe das immer so gemacht. daß ich in Basic etwas entwickelt habe und dann den Quellcode in die jeweilige Sprache übersetzt habe. Weil in Visual Basic und in VBA for Word/Excel/... ist der Support einfach am besten. Ich hasse zwar Basic, aber dafür ist die Sprache mit dem Support sehr gut geeignet.
    Frage: gibt es in PHP eine Unterscheidung zwischen Variablen und Zeigern? Ich kenne das nur aus C/C++. Vielleicht geht ja auch schon $word.Selection.GoTo(....); (Vorausgesetzt, daß die Objekte/Methoden so sind bzw. es in Basic so geht)
    Gruß
    Andreas

    1. ($word ist ein Wordobjekt, ein Dokument wurde geöffnet)

      $word->Selection->GoTo("Textmarke", , ,"NameTextmarke");
      $word->Selection->TypeText("einzufügender Text");

      So funktioniert's leider nicht!
      Kann mir irgendjemand einen Tipp geben, wie der Befehl richtig heißen müsste?

      Ich gehe davon aus, daß Du sowas gemacht hast?:
      $word = new COM("C:\docs\word.doc");

      fast:
      $word=new COM("Word.Application");
      $word->Documents->Open($document);

      Grundsätzlich kann ich nur sagen, daß sämtliche Nutzungen von COM aus anderen Programmiersprachen außer Basic immer etwas kompliziert ist. Ich habe das immer so gemacht. daß ich in Basic etwas entwickelt habe und dann den Quellcode in die jeweilige Sprache übersetzt habe. Weil in Visual Basic und in VBA for Word/Excel/... ist der Support einfach am besten. Ich hasse zwar Basic, aber dafür ist die Sprache mit dem Support sehr gut geeignet.
      Frage: gibt es in PHP eine Unterscheidung zwischen Variablen und Zeigern?

      nicht daß ich wüsste!

      Ich kenne das nur aus C/C++. Vielleicht geht ja auch schon $word.Selection.GoTo(....);

      hat nicht funktioniert

      (Vorausgesetzt, daß die Objekte/Methoden so sind bzw. es in Basic so geht)

      sind wohl nicht ganz identisch.

      Gruß
      Andreas