Announcement

Collapse
No announcement yet.

MS-Word und Java

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

  • MS-Word und Java

    Hallo,
    Ich suche nach einer Möglichkeit MS-Word Dokumente mit Java zu öffnen und um sie dann weiterverabteiten zu können.
    Kann mir vielleicht jemand weiterhelfen ?

  • #2
    klar kann jemand.

    für suns java implementation gibt es von dan adler eine leckere package um selbiges problem zu lösen.
    http://users.rcn.com/danadler/jacob/

    das hier ist auch immer mal interresant:
    http://www.lsoft.com/scripts/wl.exe?SL1=Java-COM&H=DISCUSS.MICROSOFT.COM

    außerdem habe ich irgendwann das hier gefunden:
    http://www.geocities.com/ResearchTriangle/Lab/8720/

    in bälde wird denn auch unter www.xxlars.net allerhand zum thema com-
    java-und-der-rest-der-welt zu finden sein.

    gehen wir mal von ms java aus und nehmen konsequent
    folgendes beispiel zur hand:

    /**
    * Application jdirectWord
    *
    * @version 1.0
    * @author xxl
    * @since 01.03.00
    *
    * ------------------------------------------
    * changes:
    */

    import java.io.*;
    import java.util.*;
    import com.ms.com.*;

    public class jdirectWord
    {
    private static _Guid IID_IUnknown = new _Guid("{00000000-0000-0000-C000-000000000046}");

    private static Object createObject(String str)
    {
    return com.ms.win32.Ole32.CoCreateInstance( com.ms.win32.Ole32.CLSIDFromProgID(str), null,
    ComContext.INPROC_SERVER | com.ms.win32.win.CLSCTX_LOCAL_SERVER, IID_IUnknown);
    }

    public jdirectWord( String args[])
    {
    Object word = null;
    Variant documents = null;

    try
    {
    word = createObject("Word.Application");
    System.out.println(Dispatch.get(word, "name"));
    Dispatch.put(word, "visible", new Variant( true));

    documents = Dispatch.get( word, "documents");

    Dispatch.invoke( documents, "open", Dispatch.Method, new Object[] {"c:\\temp\\test.doc"}, null);
    }
    catch( Exception ex)
    {
    ex.printStackTrace();
    }
    finally
    {
    if( word!=null)
    {
    com.ms.com.ComLib.release(word);
    com.ms.com.ComLib.release(documents);
    }

    documents = null;
    word = null;
    }

    }

    public static void main( String args[])
    {
    new jdirectWord( args);
    }

    Comment


    • #3
      Hallo,

      Sorry, "import com.ms.com.*;" , was ist das für ein Packet?

      Ich versuche Programme von Java aus zu starten , mit

      try {Runtime.getRuntime().exec("C:/Programme/Microsoft Office/Office/winword");
      }
      }

      klappts ja, aber ich will ein Bestimmtes Dokument öffnen können.

      Weiss jemand Rat?

      Danke, Matthia

      Comment


      • #4
        Hallo,

        Sorry, "import com.ms.com.*;" klappt bei mir nicht mit dem JAKOB Packet, neuen Path habe ich gesetzt.

        Ich versuche Programme von Java aus zu starten , mit

        try {Runtime.getRuntime().exec("C:/Programme/Microsoft Office/Office/winword"); } }

        klappts ja, aber ich will ein Bestimmtes Dokument öffnen können.

        Weiss jemand Rat?

        Danke, Matthia

        Comment


        • #5
          Um auf Office Dokumente zugreifen zu können habe ich die Java to Com Bridge "Jintegra" von Linar (www.linar.com) benutzt und muss sagen es funktioniert wunderbar.

          Gruss

          To

          Comment

          Working...
          X