Zugriff auf das Wörterbuch in Word bzw. Duden Korrektur 2.0 und 3.0

Shakaar

Grünschnabel
Ich suche nach einer möglichkeit auf das Wörterbuch von Word bzw. Duden Korrektur mit C# zuzugreifen. (möchte nicht den ganzen Duden abschreiben müssen ;) )
 
Wenn die bescheuert sind lassen die es zu.
Warum sollten die bescheuert sein, nur weil sie das zulassen? MS macht das doch schon seit Jahren so, dass man als "Drittanbieter" auf Funktionen aus MS-Anwendungen zugreifen kann. Aus gutem Grund, denn wenn Drittanbieter ein "kleines Tool" entwickeln, das auf Word (beispielsweise) basiert, muss der Anwender erst einmal das komplette Word-Paket installiert haben, bevor er das eigentliche 500kb-Progrämmchen nutzen kann, das er haben wollte - ob er Word braucht oder nicht, spielt dabei keine Rolle.
 
Achso. Ich hab die Frage vielleicht falsch verstanden.
Ich dache er wollte was entwickeln was nicht auf Abhängigkeiten angewiesen ist, damit er eine größere Zielgruppe erreichen kann.
Aber ich bin hauptsächlich von der Duden Korrektur ausgegangen.
Das Word hatte ich überlesen, sorry. Und ich hab noch gar nicht gewusst das man sogar auch auf das Office-Dictionary zugreifen kann.
Und ich glaube aber trotzdem nicht das Duden seine über 35.000 Wörter große Sammlung einfach so verschenkt. Ich möchte nicht wissen was das kostet sowas zusammenzustellen.
Desshalb denke ich, gibt es auch den Webservice von denen und keine dll oder und ne DatenBankDatei zum runterleden.

MFG cosmo
 
Habe eine Lösung gefunden:

Code:
using Microsoft.Office.Interop.Word;
using System;
using System.Collections;
using System.Reflection;

namespace Tools.Text
{
    ///<summary>
    /// <para>
    ///   Die Klasse <c>SpellCheck</c> überprüft die Rechtschribung des Wordes
    ///   bzw. Textes.
    /// </para>
    ///</summary>
    public sealed class SpellCheck
    {
       private SpellCheck() {}
       
       ///<summary>
       /// <para>
       ///  Überprüft das Word bzw. den Text, ist ein Fehler im Word bzw.
       ///  Text, werden die Korrekturvorschläge als ArrayList zurückgegeben.
       /// </para>
       ///</summary>
       ///<remarks>
       /// <para>
       ///  Es kann nicht mit <see langword="null"/> und ein lehren Stringarray
       ///  Initialisiert werden.
       /// </para>
       ///</remarks>
       ///<param name="word">
       /// Ein <see cref="System.String">Word</see>.
       ///</param>
       ///<returns>
       /// <para>
       ///  Wenn ein Fehler auftritt werden Korrekturvorschläge als ArrayList
       ///  zurückgegeben, ansonsten <see langword="null"/>.
       /// </para>
       ///</returns>
       ///<exception cref="System.ArgumentNullException">
       /// <paramref name="word"/> ist <see langword="null"/>.
       ///</exception>
       ///<exception cref="System.ArgumentException">
       /// <paramref name="word"/> keine Buchstaben in diesem
       /// <see cref="System.String"/>.
       ///</exception>
       public static ArrayList CheckSpelling(string word)
       {
          if(word == null)
             throw new ArgumentNullException("String is null");
          if(word.Length == 0)
             throw new ArgumentException("No Letters in this String");
          
          ApplicationClass winword = new ApplicationClass();
          object o = Missing.Value;
          ArrayList correctWords = null;
          
          if(!winword.CheckSpelling(word, ref o, ref o, ref o, ref o,
             ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o))
          {
             correctWords = new ArrayList();
             winword.Documents.Add(ref o,ref o,ref o,ref o);
             SpellingSuggestions sp = winword.GetSpellingSuggestions(word, ref o, ref o,
               ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o);
             
             foreach(SpellingSuggestion s in sp)
                 correctWords.Add(s.Name);
          }

          winword.Quit(ref o,ref o,ref o);
          return correctWords;
       }
   }
}

Microsoft.Office.Interop.Word ist nicht in .NET Framework enthalten und muß seperat Installiert werden.

Hier der Link für Office XP zum Downloaden:
Office XP Primary Interop Assemblies (PIAs)

Bei Office 2003 ist es auf der CD oder auf der Visual Studio 2003 CD.
Office 2003 Primary Interop Assemblies (PIAs)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück