Technorati Tag: ,

Vi è mai capitato di dover o meglio, di voler includere nelle vostre applicazioni documenti word compilati a run-time? Ma certo. Peccato pero' che con i PIA di office obblighiamo l' utente a dover utilizzare due eseguibili. Il nostro programma e nel mio caso, word.exe.

La prima soluzione è quella di includere in una windows form il classico controllo WebBrowser e aprire in questo controllo il documento che vogliamo visualizzare. Molto semplice e veloce :

if (File.Exists(this.Documento)) 

  
{
Uri indirizzo = new Uri(this.Documento);
this.Navigatore.Url = indirizzo;
this.Navigatore.Refresh (WebBrowserRefreshOption.Completely);
}

Purtroppo pero' questo controllo non consente la piena gestione di word, quindi diventa un po' complicato nascondere ToolBar e varie Opzioni di word.

La seconda soluzione l' ho trovata questa mattina leggendo questa KB: link che fornisce un ottimo controllo, ActiveX scritto in C++ che funge benissimo da contenitore OLE. In questo caso il codice deve abbondantemente aumentare ma abbiamo il controllo delle seguenti caratteristiche :

  • WindowProc, MessageLoop, MessageFilter and WindowFocus
  • Saving, toolbar e quant' altro.

A voi la scelta.