Ciao a tutti,
sto cercando di utilizzare un oggetto ActiveX per creare un documento .doc con del semplice testo al suo interno. Lo script gira su una intranet e tutti gli utenti hanno sia word che IE installato, quindi dal punto di vista della compatibilità non dovrei avere problemi.
Il problema che invece non riesco a risolvere nè quantomeno ad aggirare è invece il seguente:
quando il browser incontra lo script lato client che crea l'oggetto ActiveX
informa l'utente della sua possibile pericolosità, o addirittura blocca l'esecuzione restituendo un errore.
Non vorrei costringere gli utenti a configurare il browser in modo che accetti gli ActiveX, cosa non molto facile per un utente medio.
Ho cercato allora di configurare il browser in modo da accettare il sito come attendibile inserendo l'url nell'elenco dei siti attendibili ma ottengo un errore:
"Il server di automazione non può creare l'oggetto".
Mi basterebbe anche che uscisse quella "simpatica" barra gialla in alto su IE che avverte l'utente della possibile pericolosità, ma che comunque permettesse facilmente di accettare la visualizzazione della pagina, ma non esce nessuna barra
Allego comunque il semplice script che uso che lavora lato client perchè sul server non è possibile installare word.
codice:
function GetRtf(fileName)
{
var wdApp = new ActiveXObject("Word.Application");
//Allineamento testo
var center = 1;
var right = 2;
var left = 3;
wdApp.Documents.Open("http://sitotest/doc/" + fileName);
wdApp.Visible = true; //true visualizza il doc, false no :-)
wdApp.Selection.ParagraphFormat.Alignment = 2;
wdApp.Selection.TypeText('<%=dataoggi%>');
wdApp.Selection.TypeParagraph();
wdApp.Selection.ParagraphFormat.Alignment = 3;
//quì scrivo altre cosette
//...
//...
//...
wdApp.ActiveDocument.CheckGrammar(); //Controllo grammaticale
location.href = "stampaLettera.asp";
}
GetRtf('<%=fileNameModello(Session("utenteID"))%>')
In pratica apro un file .doc già impostato con intestazione e piede e scrivo dentro un po' di testo.
Qualcuno a quanche idea a riguardo?
Saluti.