J'ai fait un projet VBA basé sur Excel et Access. Lorsque je copiais sur d'autres ordinateurs, certaines méthodes (gauche, droite, etc.) ou des contrôles (ComboBox) étaient parfois désactivés. J'ai dû reconstruire dans cet ordinateur. Mais parfois c'est OK. Pourquoi? Est-ce dû à des problèmes de licence?Pourquoi mon projet VBA échoue-t-il sur d'autres ordinateurs?
Répondre
Pas parce que sous licence. Beaucoup de facteurs pourraient être, mais je pourrais le clouer à: Selon les différences de version Office SP sur plusieurs ordinateurs, il pourrait vous donner des maux de tête. Vérifiez également la version Office Web Components de chacun. Vos options & Add-in sur Office peut vous donner des indices.
Quelle est la connexion des composants Web Office à MS Access? Cela ressemble à un problème de références typique pour moi. –
Aucune connexion directe, mais il semble utiliser OWC dans son application VB. Très probablement, il est apparemment comme son problème rebondit à partir de scénarios clients. – Codex73
Vérifiez les références de l'ordinateur défaillant (via l'option de menu outils/références dans l'éditeur VBA). Différentes plates-formes peuvent avoir différents ensembles de DLL installés et vous obtiendrez des erreurs trompeuses d'Excel s'il y a une référence marquée "MISSING".
est discuté Ce in this question
Il est important de vérifier la sécurité et les autorisations sur l'ordinateur que vous rencontrez des problèmes sur. Les utilisateurs doivent disposer d'autorisations complètes sur les dossiers frontal et principal. Les macros ne fonctionneront pas si les paramètres de sécurité ne les autorisent pas. Vous pouvez lire:
Self certification and digital signatures
General information on security principals for Office code and macro security
Trusted location defaults for Office 2003
Pour la plupart, la liaison tardive résoudra des problèmes avec des références dans VBA, sauf si vous avez un peu inhabituel les références. La plupart des problèmes sont causés par des différences dans les versions de bibliothèque qui peuvent être surmontées avec une liaison tardive. Avec VBA, il est souvent recommandé de développer une liaison précoce, mais de la relâcher avec une liaison tardive. Le principal inconvénient de la liaison tardive est la modification des constantes intégrées aux valeurs (la vitesse n'est plus le problème qu'elle était auparavant.)
La seule exception pour la liaison tardive est si vous utilisez un contrôle intégré, qui ne peut pas être utilisé avec une liaison tardive du tout. C'est l'une des raisons pour lesquelles de nombreux développeurs évitent les contrôles non natifs dans Access. –
Il s'agit d'une différence de version/problème de référence manquant. Parfois, il vous donne l'erreur sur la fonction correcte, et parfois sur des fonctions complètement indépendantes.
Si vous déployez sur différentes versions d'Excel, vous pouvez utiliser la liaison tardive au lieu de la liaison anticipée pour résoudre ce problème. Lorsque vous développez vous pouvez utiliser des trucs comme
Dim x As Excel.Application
x = New Excel.Application
Mais pour le déploiement, vous pouvez changer à ce qui suit, puis supprimer la référence tout à fait.
Dim x As Object
x = CreateObject("Excel.Application")
- 1. Pourquoi Silverlight ne joue-t-il pas sur certains ordinateurs?
- 2. jQuery sur les ordinateurs lents
- 3. Pourquoi compiler mon projet Biztalk 2009 verrouiller des fichiers?
- 4. Différentes références Interop sur deux ordinateurs différents ne fonctionne pas
- 5. Pourquoi wgluseFontBitmaps consomme-t-il trop de mémoire sur certains ordinateurs?
- 6. Comment puis-je surveiller les ordinateurs actifs sur mon réseau dans ASP.NET?
- 7. L'anticrénelage des polices n'apparaît pas sur certains ordinateurs (win)
- 8. Problème avec LoadVars.sendAndLoad dans Actionscript 2 sur différents ordinateurs
- 9. Même .vimrc, deux ordinateurs différents
- 10. Itérer sur les dictionnaires VBA?
- 11. Pourquoi ne puis-je pas me connecter à mon portail de projet avec mon nouvel utilisateur teamsystem?
- 12. Pourquoi l'un des GUID de mon projet change-t-il lorsque je compile le projet dans VS 2005?
- 13. Pourquoi facebook.feed.publishUserAction supprime-t-il mon image?
- 14. Pourquoi AddMonths() ne fonctionne pas sur mon DateTime? (Voir code)
- 15. Pourquoi mon projet ASP.NET MVC enregistre-t-il plusieurs copies de lui-même?
- 16. Comment supprimer le mot de passe d'un projet VBA?
- 17. Comment déployer mon projet asp.net dans IIS?
- 18. Pourquoi les événements distants .NET du serveur ne peuvent pas atteindre les clients sur des ordinateurs différents
- 19. Pourquoi Visual Studio 2008 souhaite-t-il enregistrer régulièrement mon fichier de projet?
- 20. Dois-je mettre mon projet Flex dans le cadre de mon projet de rails?
- 21. Passer en revue mon projet de jeu OU (Comment examiner par les pairs mon projet)?
- 22. image se cachant dans mon projet xcode
- 23. Comment inclure JavaHelp avec mon projet Eclipse?
- 24. Pourquoi mon collègue voit un fichier projet différent (* .csproj) en utilisant Visual Source Safe
- 25. Pourquoi @SuppressWarnings casse mon code?
- 26. Pourquoi Microsoft ne force-t-il pas Silverlight sur les ordinateurs des utilisateurs via une mise à jour Windows?
- 27. Pourquoi mon contrôle personnalisé ASP.Net rend-il deux attributs id sur mon premier contrôle enfant?
- 28. Interface avec les ordinateurs distants utilisant Python
- 29. Comment faire fonctionner MigLayout avec mon projet?
- 30. erreur SVG dans mon J2ME projet NetBeans6.5
Ce doit être les gobelins qui vivent à l'intérieur de la machine ... –
Pas assez d'informations pour permettre à quiconque de vous aider. –