2009-10-30 4 views
3

Mon employeur envisage d'installer la suite de produits Office d'OpenOffice.org au lieu d'utiliser Microsoft Office. J'ai écrit plusieurs applications avancées dans Access et Excel, et j'essaie de comprendre ce qui sera et ne sera pas compatible avec OpenOffice.org. Plus précisément, que dois-je faire pour que Calc (la version d'OpenOffice.org d'Excel) lise et exécute VBA dans les macro et lie les macro-événements aux clics de bouton?Que dois-je faire pour que OpenOffice.org Calc lise le code VBA dans un fichier Excel?

A noter également, j'utilise le connecteur MySQL à partir d'Excel pour mettre à jour dynamiquement des données dans la feuille de calcul. Que devrais-je faire pour préserver la connectivité des données avec notre serveur MySQL?

Merci

Répondre

5

Pour autant que je sache, OOo base peuvent se connecter à un fichier .mdb dans la mesure où il peut ouvrir des tables et des requêtes. Je pense que tout le reste - formulaires, requêtes, macros VBA et natif - devrait être redéveloppé.

Je ne crois pas que OOo Calc peut lire ou exécuter VBA: il a son propre dialecte de base, qui a une syntaxe variante. Pour autant que je sache, il ne soutient pas le concept de classe, par exemple. Certains travaux semblent se produire, cependant, voir the OpenOffice Wiki pour plus d'informations. À l'heure actuelle, je dirais que vous devriez planifier une réécriture minutieuse et complète.

En ce qui concerne le connecteur MySQL - je dirais que c'est le moindre de vos soucis ...

Du côté positif, vous êtes susceptible d'avoir une véritable sécurité d'emploi depuis un an ou deux pendant que vous obtenez tout Ported !

+0

Merci pour vos suggestions et commentaires. J'ai trouvé une option dans Outils> Options> Charger/Enregistrer> Propriétés VBA qui m'a permis d'activer le code exécutable. Cependant, il n'a même pas reconnu l'objet de la table de requête, donc je réécrirais cette fonctionnalité de toute façon. Alors oui, on dirait que je vais avoir beaucoup de sécurité d'emploi si nous allons sur la route "libre" :-). –

+0

Il est à noter que le temps d'accès est libre, donc vous n'aurez probablement pas besoin de changer d'accès. http://www.microsoft.com/downloads/details.aspx?familyid=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed&displaylang=en – Matt

+0

C'est une bonne suggestion, mais je dois écrire 100% de code sans bug :-). Toute exception VBA dans le runtime d'accès provoque la fermeture de l'application. J'aimerais pouvoir dire que mon code était parfait, mais habituellement mes solutions sont assez bonnes pour faire le travail, mais parfois montrer un bug quand je fais quelque chose d'inattendu que je n'ai pas attrapé. Pour le type d'applications que j'ai écrites, c'est généralement OK, mais pas toujours. Je vais vérifier de toute façon. Qui sait; peut-être que ça va marcher! –

1

J'ai récemment découvert go-oo qui semble être en mesure d'atteindre votre tâche.

Questions connexes