bonjour à tous ;
alors voila je travail avec visual studio2005 et j'ai une webform en c# qui
apres le click du bouton me lance word le probleme et que word est
invisible!!! alors que dans le gestionnaire des taches il est lancé!
je vous donne mon bout de code
>>>>>>>>>>>>>
private void button1_Click(object sender, EventArgs e)
{
try
{
// connexion à Word
Word.Application msWord = new Word.Application();
// Afficher à l'utilisateur l'application WORD ou non
msWord.Visible = true;
// déclaration de l objet Missing
Object M = Missing.Value;
// Création d'un nouveau document word
Word.Document newDoc;
// Attribution du nom au document nouvellement crée
Object fileName = @"m.doc";
// Vérification de l'existence du document WORD
if (System.IO.File.Exists((string)fileName))
{
// si le document existe déjà on l'ouvre et on le
modifie
newDoc = msWord.Documents.Open(ref fileName, ref M,
ref M, ref M, ref M, ref M, ref M, ref M,
ref M, ref M, ref M, ref M, ref M, ref M,
ref M, ref M);
}
else
{
// si le fichier n existe pas on le crée
// en se basant sur un fichier modèle
Object nomModele = "E:/Documents and
Settings/Administrateur.NINA/Application Data/Microsoft/Modèles/Normal3.dot";
// Vérification de l’existence du fichier modèle ou non
if (!System.IO.File.Exists((string)nomModele))
{
// Création du nouveau document WORD sans préciser
de modèle
newDoc = msWord.Documents.Add(ref M, ref M, ref M,
ref M);
MessageBox.Show("erreur :" );
}
else
{
// Création du document WORD en utilisant le modèle
existant
newDoc = msWord.Documents.Add(ref nomModele, ref M,
ref M, ref M);
Object Nom = "Nom";
Object Prenom = "Prenom";
Object Ville = "Ville";
// Sauvegarde du document nouvellement crée
newDoc.SaveAs(ref fileName, ref M, ref M, ref M, ref M,
ref M, ref M, ref M, ref M, ref M, ref M, ref M,
ref M, ref M, ref M, ref M);
}
catch (System.Runtime.InteropServices.COMException error)
{
MessageBox.Show("erreur :" + error.ToString());
}
}
>>>>>>>>>>>>>>>>>>>>>>
comme vous le voyez mon msword.visible est a true!
j'ai pensé à recuperé la valeur de mon visible et c'est ce que j'ai fais ;
quand je click sur mon bouton qui me lance mon word
mon visible se met à false!!! comment je ne sais pas ! mais je dois
vite arrangé ça et je sais pas comment forcé à ce que sa valeur reste à
true!
et le plus dingue c'est que si je travail sur le pc de mon binome tout
marche alors
que c'est les meme config matriel et logiciel !!!!
d'ou le besoin d'aide je sais pas comment reglé ce probleme et le plus vite
possible
si vous avez une idée je vous ecoute
j'espere avoir bien exposé mon probleme et avoir eté bien explicite
je vous remerci pour tout d'avance, merci
et désolé pour le derangement
respectueusement
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mehdi
On Sun, 25 Jun 2006 02:54:01 -0700, nima84 wrote:
bonjour à tous ; alors voila je travail avec visual studio2005 et j'ai une webform en c# qui apres le click du bouton me lance word le probleme et que word est invisible!!! alors que dans le gestionnaire des taches il est lancé! je vous donne mon bout de code
[...]
Qu'essaies tu exactement de faire ? N'oublie pas que dans les applications web, seule la page web elle meme s'execute sur le poste client (dans le navigateur web). Le code C# que tu nous a donné s'execute sur la machine sur laquelle tourne le serveur Web (IIS). Donc ton code lance Word sur le serveur web et non pas sur le poste client. De plus, IIS est un service windows qui n'est normalement pas autorisé a afficher quoique ce soit a l'écran donc c'est normal que tu ne vois rien. Et, enfin, Microsoft a tres clairement indiqué ici <http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757> qu'Office n'a jamais été concu pour etre sontrollé depuis une application serveur (comme un serveur Web) et que tout un tas de problemes peuvent se poser si tu tentes de le faire.
Rien a voir, mais dand ton code, tu a codé en dur le chemin vers ton repertoire MesDocuments. C'est une tres mauvaise idée. Ce code ne fonctionnera plus lorsque tu le déplacera sur une autre machine. Utilise les API du .NET Framework pour trouver ce chemin au lieu de le coder en dur.
On Sun, 25 Jun 2006 02:54:01 -0700, nima84 wrote:
bonjour à tous ;
alors voila je travail avec visual studio2005 et j'ai une webform en c# qui
apres le click du bouton me lance word le probleme et que word est
invisible!!! alors que dans le gestionnaire des taches il est lancé!
je vous donne mon bout de code
[...]
Qu'essaies tu exactement de faire ? N'oublie pas que dans les applications
web, seule la page web elle meme s'execute sur le poste client (dans le
navigateur web). Le code C# que tu nous a donné s'execute sur la machine
sur laquelle tourne le serveur Web (IIS). Donc ton code lance Word sur le
serveur web et non pas sur le poste client. De plus, IIS est un service
windows qui n'est normalement pas autorisé a afficher quoique ce soit a
l'écran donc c'est normal que tu ne vois rien. Et, enfin, Microsoft a tres
clairement indiqué ici
<http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757> qu'Office
n'a jamais été concu pour etre sontrollé depuis une application serveur
(comme un serveur Web) et que tout un tas de problemes peuvent se poser si
tu tentes de le faire.
Rien a voir, mais dand ton code, tu a codé en dur le chemin vers ton
repertoire MesDocuments. C'est une tres mauvaise idée. Ce code ne
fonctionnera plus lorsque tu le déplacera sur une autre machine. Utilise
les API du .NET Framework pour trouver ce chemin au lieu de le coder en
dur.
bonjour à tous ; alors voila je travail avec visual studio2005 et j'ai une webform en c# qui apres le click du bouton me lance word le probleme et que word est invisible!!! alors que dans le gestionnaire des taches il est lancé! je vous donne mon bout de code
[...]
Qu'essaies tu exactement de faire ? N'oublie pas que dans les applications web, seule la page web elle meme s'execute sur le poste client (dans le navigateur web). Le code C# que tu nous a donné s'execute sur la machine sur laquelle tourne le serveur Web (IIS). Donc ton code lance Word sur le serveur web et non pas sur le poste client. De plus, IIS est un service windows qui n'est normalement pas autorisé a afficher quoique ce soit a l'écran donc c'est normal que tu ne vois rien. Et, enfin, Microsoft a tres clairement indiqué ici <http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757> qu'Office n'a jamais été concu pour etre sontrollé depuis une application serveur (comme un serveur Web) et que tout un tas de problemes peuvent se poser si tu tentes de le faire.
Rien a voir, mais dand ton code, tu a codé en dur le chemin vers ton repertoire MesDocuments. C'est une tres mauvaise idée. Ce code ne fonctionnera plus lorsque tu le déplacera sur une autre machine. Utilise les API du .NET Framework pour trouver ce chemin au lieu de le coder en dur.
nima84
bonsoire; merci de m'avoire repondu c'est tres gentil! pour ce qui est d'utiliser les API du .net framwork je veux bien mais aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait! mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre machine avec l'application j'arrive à lancer word et il est visible! et pour ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous plait pourriez vous me dire comment faire pour que word se lance depuis le poste du client???? merci de votre gentillesse et desolé si cela aucasione un derangement quelquonc! encore merci respectueusement
bonsoire;
merci de m'avoire repondu c'est tres gentil!
pour ce qui est d'utiliser les API du .net framwork je veux bien mais
aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait!
mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre
machine avec l'application j'arrive à lancer word et il est visible! et pour
ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous
plait pourriez vous me dire comment faire pour que word se lance depuis le
poste du client????
merci de votre gentillesse et desolé si cela aucasione un derangement
quelquonc!
encore merci
respectueusement
bonsoire; merci de m'avoire repondu c'est tres gentil! pour ce qui est d'utiliser les API du .net framwork je veux bien mais aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait! mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre machine avec l'application j'arrive à lancer word et il est visible! et pour ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous plait pourriez vous me dire comment faire pour que word se lance depuis le poste du client???? merci de votre gentillesse et desolé si cela aucasione un derangement quelquonc! encore merci respectueusement
Mehdi
On Sun, 25 Jun 2006 06:21:02 -0700, nima84 wrote:
bonsoire; merci de m'avoire repondu c'est tres gentil! pour ce qui est d'utiliser les API du .net framwork je veux bien mais aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait!
Regarde la doc de Environment.SpecialFolder. Ce qui t'interresse est la valeur ApplicationData.
mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre machine avec l'application j'arrive à lancer word et il est visible!
Une histoire d'IIS ou Word qui ne sont pas installés/configurés de la meme maniere. Le probleme n'est pas ton code mais le fait que ton code s'éxécute dans un serveur web et que Word n'a pas été concu pour ce genre de choses.
et pour ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous plait pourriez vous me dire comment faire pour que word se lance depuis le poste du client????
Ce n'est pas possible (on parle bien d'application web ici pas d'une appli windows ?). Ce que tu veux faire c'est lancer Word depuis une page web. Si tu pouvais faire ca, alors n'importe quel site web pourrai lancer n'importe quel programme sur ton PC ce qui poserai quelques problemes de sécurité. Ce que tu peux faire c'est mettre un lien vers un document Word sur ta page web. Lorsque l'utilisateur cliquera dessus, en fonction de son navigateur et de sa configuration, soit Word se lancera automtiquement, soit l'utilisateur aura le choix entre lancer Word ou sauvegarder le fichier soit le fichier sera téléchargé sur le disque de l'utilisateur automatiquement.
On Sun, 25 Jun 2006 06:21:02 -0700, nima84 wrote:
bonsoire;
merci de m'avoire repondu c'est tres gentil!
pour ce qui est d'utiliser les API du .net framwork je veux bien mais
aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait!
Regarde la doc de Environment.SpecialFolder. Ce qui t'interresse est la
valeur ApplicationData.
mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre
machine avec l'application j'arrive à lancer word et il est visible!
Une histoire d'IIS ou Word qui ne sont pas installés/configurés de la meme
maniere. Le probleme n'est pas ton code mais le fait que ton code s'éxécute
dans un serveur web et que Word n'a pas été concu pour ce genre de choses.
et pour
ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous
plait pourriez vous me dire comment faire pour que word se lance depuis le
poste du client????
Ce n'est pas possible (on parle bien d'application web ici pas d'une appli
windows ?). Ce que tu veux faire c'est lancer Word depuis une page web. Si
tu pouvais faire ca, alors n'importe quel site web pourrai lancer n'importe
quel programme sur ton PC ce qui poserai quelques problemes de sécurité. Ce
que tu peux faire c'est mettre un lien vers un document Word sur ta page
web. Lorsque l'utilisateur cliquera dessus, en fonction de son navigateur
et de sa configuration, soit Word se lancera automtiquement, soit
l'utilisateur aura le choix entre lancer Word ou sauvegarder le fichier
soit le fichier sera téléchargé sur le disque de l'utilisateur
automatiquement.
bonsoire; merci de m'avoire repondu c'est tres gentil! pour ce qui est d'utiliser les API du .net framwork je veux bien mais aurriez vous un bon lien pour m'aidé à la faire rapidement s'il vous plait!
Regarde la doc de Environment.SpecialFolder. Ce qui t'interresse est la valeur ApplicationData.
mais le truc c'est que le meme bout de code marche ailleurs! sur l'autre machine avec l'application j'arrive à lancer word et il est visible!
Une histoire d'IIS ou Word qui ne sont pas installés/configurés de la meme maniere. Le probleme n'est pas ton code mais le fait que ton code s'éxécute dans un serveur web et que Word n'a pas été concu pour ce genre de choses.
et pour ce qui est dans l'applicatiob qui lance word sur le serveur web s'il vous plait pourriez vous me dire comment faire pour que word se lance depuis le poste du client????
Ce n'est pas possible (on parle bien d'application web ici pas d'une appli windows ?). Ce que tu veux faire c'est lancer Word depuis une page web. Si tu pouvais faire ca, alors n'importe quel site web pourrai lancer n'importe quel programme sur ton PC ce qui poserai quelques problemes de sécurité. Ce que tu peux faire c'est mettre un lien vers un document Word sur ta page web. Lorsque l'utilisateur cliquera dessus, en fonction de son navigateur et de sa configuration, soit Word se lancera automtiquement, soit l'utilisateur aura le choix entre lancer Word ou sauvegarder le fichier soit le fichier sera téléchargé sur le disque de l'utilisateur automatiquement.