Javabuzi meghasonulva
Bár javabuzi vagyok, vannak olyan feladatok, amikre nem a Java a legalkalmasabb. Mostanság több ilyen is adódott, kellett használni flex-et, grails-t, .NET-et is.
Tehát a probléma: szedjük ki bizonyos időközönként egy aktuálisan megnyitott dokumentumból a szöveget. C#.NET-et találtam a legkényelmesebbnek ehhez, bár így sem volt egyszerű. Rengeteg írás van a neten, hogy hogyan bizergáljunk lementett doc fájlokat, de ritka, hogy hogyan dolgozzunk egy aktuálisan megnyitott doksival. Annyi könnyíti a helyzetemet, hogy magát a dokumentumot az elején feldobhatom én is, így nem kell kikeresnem az aktívot, hanem feltételezhetem, hogy az általam megnyitottba írnak majd. Csupán a Microsoft.Office.Core és a Microsoft.Office.Interop.Word dll-eket kell csak behúzni. A kód valami ilyesmi, persze még az ütemes giveBackTheText() hívások kellenek köré:
public class WordTextReceiver
{
private Microsoft.Office.Interop.Word.Application wordApp;
private Document doc;
public void init()
{
createWordDocument();
}
private void createWordDocument()
{
wordApp = new Microsoft.Office.Interop.Word.Application();
object readOnly = false;
object isVisible = true;
// Here is the way to handle parameters you don't care about in .NET
object missing = System.Reflection.Missing.Value;
wordApp.Visible = true;
try
{
doc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref isVisible);
}
catch (COMException ce)
{
// some logging or error handling here
}
doc.Activate();
}
public String giveBackTheText()
{
return doc.Content.Text;
}
}
0 megjegyzés:
Megjegyzés küldése