Accueil > Forum > > > > automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation
automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation
vendredi 13 juillet 2007 à 11:53:03 |
automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

otavioreis
|
Bonjour à tous j'ai crée une bibliothèque de fonctions. Je voulais appeller les fonctions à partir d'Excel (2003). Alors j'ai crée un automation add-in sur Visual Studio. Quand je rentre sur Excel, je vais sur macro complémentaires, j'ajoute la dll (add-in), et tout marche bien sur mon ordinateur. Par contre si je mets la dll sur un autre ordinateur, Excel ne reconnait pas le add-in. En fait, j'avais déjà installé le runtime VSTO. Quand je démande à Excel d'ajouter la macro complémentaire, il me sort un message d'erreur: "le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation, ou vous ne disposez pas de privilèges suffisants pour enregistrer le serveur Automation" ou "The File you selected does not contain a new Automation Server, or you do not have sufficient privileges to register the Automation Server" . Sur ma machine ça marche normalement... sauf si j'ai un message d'Excel en disant qu'il n'arrive pas à trouver le mscoree.dll. Si je clique sur oui, il perd la réference de la macro complémentaire, puis si j'essaye de trouver et rajouter ma dll, Excel me sort le même message d'erreur. Quelqu'un a une idée, SVP? Comment dois je proceder, SVP? Otavio Reis
|
|
mardi 24 juillet 2007 à 20:12:45 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

ShareVB
|
salut,
peut être : http://www.codeproject.com/dotnet/excelnetauto.asp
ShareVB
|
|
mercredi 25 juillet 2007 à 09:47:50 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

otavioreis
|
Salut,
Merci pour l'information... je connais ce site... Si tu suis exactement ce qu'il dit, ça marche pas.
Merci pour la réponse, Otavio Reis
|
|
mercredi 25 juillet 2007 à 20:36:05 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

ShareVB
|
salut,
personnelement, je viens de tester et ca marche : -> j'ai office 2007 d'installé et visual studio -> j'ai copier ce code dans fichier Functions.cs : using System; using System.Runtime.InteropServices;
namespace NAddIn { [ClassInterface(ClassInterfaceType.AutoDual)] public class Functions { public Functions() { }
public double AjouterAzerty(double v1, double v2) { return v1 + v2; }
public int UnTioTest() { return 34; }
[ComRegisterFunctionAttribute] public static void RegisterFunction(Type t) { Microsoft.Win32.Registry.ClassesRoot.CreateSubKey( "CLSID\\{" + t.GUID.ToString().ToUpper() + "}\\Programmable"); }
[ComUnregisterFunctionAttribute] public static void UnregisterFunction(Type t) { Microsoft.Win32.Registry.ClassesRoot.DeleteSubKey( "CLSID\\{" + t.GUID.ToString().ToUpper() + "}\\Programmable"); } } } -> j'ai définit "Make COM visible" mais pas "Register for COM" -> compilation puis j'ai mis la dll sur le bureau -> regasm /codebase -> dans office 2007 (quand j'ai fini par trouver le gestionnaire de complément), j'ai trouvé mon addin "NAddIn.Functions" -> je l'ai sélectionné, le message "mscoree.dll" est apparu, j'ai répondu "non" -> ensuite en saisissant =AjouterAzerty(3;4) dans une cellule ca marche...
en tout cas, si je fais parcourir puis que je sélectionne la dll, j'ai le message automation truc...
en fait, je pense que sur une autre machine, les comregisterfunction ne sont pas appellées : -> est-ce que tu utilises regasm ? -> si c'est un projet de déploiement, alors il me semble qu'il y a un bug dans l'appel des fonction comregister...
ShareVB
|
|
jeudi 26 juillet 2007 à 13:57:33 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

otavioreis
|
merci bcp ShareVB. ça fait un mois que je galère avec ça. J'ai posé plusieurs questions par tout et t'es la première personne qui me donne un réponse précise. j'ai résussi çà faire marcher le code sur ma machine. Le gros pb maintenant est de faire l'installation sur une autre machine. Je sais déjà qu'il faut installer le .Net2.0. Là, il y a un petit souci, car le add-in utilise le .NET 2.0 et Excel utilise .NET 1.1. Pour résoudre ce problème, il faut installer le patch office2003-KB907417-FullFile-ENU . Pour que les outils VSTO marchent, il faut aussi installer le runtime vstor .
Si j'essaye d'utiliser regasm, ça ne marche pas. Il ne reconnait pas la dll pour la registrer. Mais je ne sais pas comment résoudre ça. T'as une idée?
Merci inifiniment, Otavio Reis
|
|
jeudi 26 juillet 2007 à 22:43:38 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

ShareVB
|
salut,
qu'entends tu par "Regasm ne reconnait pas la dll pour la registrer" ? normalement tu fais un projet de déploiement, et tu indiques de l'enregistrer avec regasm dans une custom action...
sinon, tu peux mettre une custom action dans ta dll : using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Configuration.Install; using System.Windows.Forms; using System.IO; using System.Runtime.InteropServices;
namespace prjIEAddonSample { /// <summary> /// Cette classe est nécessaire d'enregistrer l'assembly en appelant les ComRegisterFunction /// </summary> [RunInstaller(true)] public class TBInstaller : System.Configuration.Install.Installer { //enregistre l'assembly public override void Install(System.Collections.IDictionary stateSaver) { base.Install(stateSaver); RegistrationServices reg = new RegistrationServices(); reg.RegisterAssembly(this.GetType().Assembly, AssemblyRegistrationFlags.SetCodeBase); } //désenregistre l'assembly public override void Uninstall(System.Collections.IDictionary savedState) { RegistrationServices reg = new RegistrationServices(); reg.UnregisterAssembly(this.GetType().Assembly); base.Uninstall(savedState); } } }
ShareVB
|
|
vendredi 27 juillet 2007 à 09:17:38 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

otavioreis
|
Salut! Merci bcp pour ta réponse.... Je pense que je l'ai fait...regard mon code: using System;using System.Runtime.InteropServices;using Microsoft.Win32;//using Microsoft.VisualStudio.Tools.Applications.Runtime; using Excel = Microsoft.Office.Interop.Excel; namespace AltiaD{ [ ClassInterface(ClassInterfaceType.AutoDual), ComVisible(true)]publicclassFunctions{ public Functions(){ } publicstaticdouble pi = 3.141592654;/// APPROXIMATION DE LA FONCTION DE REPARTITION DE LA LOI NORMALEpublicdouble N(double d){ double a1 = 0.319381530;double a2 = -0.356563782;double a3 = 1.781477937;double a4 = -1.821255978;double a5 = 1.330274429;double N;if (d > 0){ double x = 1 / (1 + 0.2316419 * d);N = 1 - (1 / Math.Sqrt(2 * pi) * Math.Exp(-Math.Pow(d, 2) / 2)) * (a1 * x + a2 * Math.Pow(x, 2) + a3 * Math.Pow(x, 3) + a4 * Math.Pow(x, 4) + a5 * Math.Pow(x, 5));} elseif (d == 0){ N = 0.5; } else{ double x = 1 / (1 + 0.2316419 * (-d));double temp = 1 - (1 / Math.Sqrt(2 * pi) * Math.Exp(-Math.Pow(d, 2) / 2)) * (a1 * x + a2 * Math.Pow(x, 2) + a3 * Math.Pow(x, 3) + a4 * Math.Pow(x, 4) + a5 * Math.Pow(x, 5));N = 1 - temp; } return (N);} /// N'(x)publicdouble N2(double d, double sigma, double r){ double N2 = 1 / (sigma * Math.Sqrt(2 * pi)) * Math.Exp(-Math.Pow(d - r, 2) / (2 * Math.Pow(sigma, 2)));return (N2);} // CALCUL DU PRIX D UN CALL PAR BLACK&SCHOLESpublicdouble call(double s, double k, double r, double t, double sigma, double d){ double call;t = t / 365.25; double st = s * Math.Exp(-d * t);double d1 = 1 / (sigma * Math.Sqrt(t)) * (Math.Log(st / k) + (r + 1 / 2 * Math.Pow(sigma, 2)) * t);double d2 = d1 - sigma * Math.Sqrt(t);call = st * N(d1) - k * Math.Exp(-r * t) * N(d2);return (call);} // CALCUL DU PRIX D UN PUT PAR BLACK&SCHOLESpublicdouble put(double s, double k, double r, double t, double sigma, double d){ double put;t = t / 365.25; double st = s * Math.Exp(-d * t);double d1 = 1 / (sigma * Math.Sqrt(t)) * (Math.Log(st / k) + (r + 1 / 2 * Math.Pow(sigma, 2)) * t);double d2 = d1 - sigma * Math.Sqrt(t);put = -st * N(-d1) + k * Math.Exp(-r * t) * N(-d2);return (put);} [ ComRegisterFunctionAttribute]publicstaticvoid RegisterFunction(Type t){ Microsoft.Win32. Registry.ClassesRoot.CreateSubKey("CLSID\\{" + t.GUID.ToString().ToUpper() +"}\\Programmable"); } [ ComUnregisterFunctionAttribute]publicstaticvoid UnregisterFunction(Type t){ Microsoft.Win32. Registry.ClassesRoot.DeleteSubKey("CLSID\\{" + t.GUID.ToString().ToUpper() +"}\\Programmable");} } } Otavio Reis
|
|
vendredi 27 juillet 2007 à 21:01:43 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

ShareVB
|
salut,
ton code me semble OK, seulement, je pense que ton projet de déploiement n'appelle pas les comregisterfunction ce qui fait que tu ne vois pas l'addin...normaleme, regasm.exe fait tout bien mais je ne sais pas si tu peux l'utiliser sans le SDK de développement...j'ai eu des prb avec les projets de déploiement qui ne semble pas appeler à tous les coups les comregisterfunction...
donc si tu emploies un projet de déploiement (ce que je te conseilles), tu ajoutes une classe Installer dans ta dll, tu copies le code de mon précédent post à la place du code généré dans la classe installer, dans ton projet tu ajoutes une custom action pour Install et Uninstall en laissant InstallerClass = True...
ShareVB
|
|
lundi 30 juillet 2007 à 14:40:46 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

otavioreis
|
Salut,
Merci pour ta réponse ShareVB! Je pense que t'as raison. Mon déploiement n'appelle pas les comregisterfunction. J'ai crée un setup Project, puis j'ai insérer une classe nomée Installer. Ensuite j'ai copié ton code. Par contre, je n'ai pas trouvé le InstallerClass = True. C'est quoi ça? Une autre question: Dans le custom action, je demande d'ajouter une action personalisée sur installer. Il m'ouvre les options suivantes: 1. Bureau de l'utilisateur; 2. dossier d'application; 3. Menu Programmes de l'utilisateur. A partir de là je ne sais pas quoi faire. Merci bcp pour ton aide, Otavio Reis
|
|
lundi 30 juillet 2007 à 22:54:46 |
Re : automation add-in : le fichier que vous avez sélectionné ne contient pas de nouveau serveur Automation

ShareVB
|
salut,
1) Installer = true c'est une fois que tu as crées ta custom action sur Install et Uninstall, c'est dans les propriétés de la custom action sélectionnée
2) "1. Bureau de l'utilisateur; 2. dossier d'application; 3. Menu Programmes de l'utilisateur", c'est un peu comme un OpenFileDialog...tu vas dans "dossier d'application" et tu cliques sur "sortie primaire..."/"Primary output from ton_projet"...et là ca t'ajoutes une custom action sur laquelle tu vérifies le Installer = true dans les prop...
ShareVB
|
|
Cette discussion est classée dans : excel, serveur, add, in, automation
Répondre à ce message
Sujets en rapport avec ce message
EXCEL ADD-IN [ par ricomiracle ]
Voila mon problème:Je crée un ADD-IN que je souhaite utiliser avec Excel pour remplir le classeur avec des données provenant d'une autre appli.Erreur
Add-in Excel [ par SoftReport ]
Bonjour à tous.Je suis en train de créer un Add-In pour Excel en VB.Net. Tout se passe parfaitement sauf que je ne sais pas comment créer des fonction
créer mon add-in [ par refaat ]
bonjour à vous tous,je voudrais créer un add-in dans excel 2003, c'est tout!lorsque je charge excel, je veux que l'add-in soit dans le menu.comment fa
VSTO Add in Outlook Pb avec ActiveSync [ par Ddance ]
Bonjour[^^happy13] Je suis nouveau sur ce site alors soyez indulgent please...[^^happy8] J'ai créé un addin avec VSTO 2008 l'add in fonctionne très
[Catégorie modifiée .Net --> VBA] Ouvrir tous les fichiers EXCEL d'un serveur [ par Germouse ]
Bonjour, Connaissez vous un code VBA dans un fichier excel qui me permettrait d'ouvrir et fermer tous les fichiers Excel contenus dans un dossier sit
Problème lancement add in Outlook 2007 lorsque ActiveSync 4.5 est synchronisé. [ par Ddance ]
Bonjour, AIDEZ MOI SVP.... AU SECOUR!!! Je rencontre un GROS PROBLEME avec un ADD-IN Outlook 2007 que j'ai réalisé en VB NET à l'aide Visual Studio
SQL dans outlook add-in [ par Zachs ]
Hello comment fait-on pour faire une connexion a une base de données SQL avec un projet Outlook add-in?Merci d'avance (^o^) (x_x) (o_o*)
Etats sur Oracle developper [ par azahiri ]
Salut les amis, j'ai une application sur vb6 et les données sont stockés sur un serveur oracle, l'appli fait le traitement et pour l'impression j'ai
Add-In Toolbar [ par petchy ]
bonjourje ne trouve plus la commande Add-In Toolbar dans le Gestionnaire de compléments.y a t'il un composant à installer mercipetchy<img src="/imgs2/
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|