L'appel de script python à partir d'excel/vba
J'ai un code python qui lit les 3 arguments (scalaires) et les fichiers de texte, puis me renvoie un vecteur de double. Je veux écrire une macro en vba pour appeler ce code python et écrire les résultats dans un de la même feuille excel. Je voulais savoir quelle était la meilleure façon de le faire, ici sont des choses que j'ai trouvé:
- appel de la fonction shell() en vba, mais il ne semble pas si facile d'obtenir la valeur de retour.
- inscrire le code python comme un objet COM et de l'appeler à partir de vba--> je ne sais pas comment faire donc si vous avez des exemples, il serait plus que bienvenue
- créer un outil personnalisé dans une boîte à outils personnalisée, en vba de géotraitement créer un objet, puis addtoolbox et ensuite, nous pouvons utiliser l'outil personnalisé directement via le géotraitement objet, mais c'est quelque chose que je ne sais pas comment faire..
Des conseils?
Pour obtenir la commande shell pour travailler, regarder ici: stackoverflow.com/questions/1439200/...
J'utilise une passerelle "de classe". Dite passerelle, car elle ouvre le monde riche de l'Python écosystème Excel VBA Développeur exceldevelopmentplatform.blogspot.com/2018/06/...
J'utilise une passerelle "de classe". Dite passerelle, car elle ouvre le monde riche de l'Python écosystème Excel VBA Développeur exceldevelopmentplatform.blogspot.com/2018/06/...
OriginalL'auteur Anninha | 2010-08-25
Vous devez vous connecter pour publier un commentaire.
Suivez attentivement ces étapes
J'ai eu l'enfer des DLL problèmes avec 2.6.x
une fois l'installation terminée, ouvrez l'Invite de Commande et accédez à
exécuter
\> python pyscript.py
vous devriez voir le message Enregistré: Python
Aller à ms office, excel et ouvrez la feuille de calcul
Basculer vers l'éditeur de code et Insérez le code suivant
Exécuter. Profiter et développer si nécessaire
OriginalL'auteur renick
Voici un bon lien pour Excel à partir de/à Python d'utilisation:
continuum.io/aide-excel
mentionne xlwings, DataNitro, ExPy, PyXLL, XLLoop, openpyxl, xlrd, xlsxwriter, xlwt
Aussi j'ai trouvé que ExcelPython est en développement actif.
2.
Ce que vous pouvez faire avec VBA + Python est la suivante:
Compiler votre py, scripts dont les entrées et générer des résultats sous forme de fichiers texte ou à partir de la console. Puis VBA permettra de préparer des entrées pour py, appelez le pré-compilé py script et de le lire à sa sortie.
3.
Envisager de Google Docs, OpenOffice ou LibreOffice qui soutiennent des scripts Python.
C'est en supposant que les options disponibles avec COM ou MS interfaces de script ne répondent pas à vos besoins.
Ce n'est pas gratuit, mais vaut la peine de mentionner (en vedette dans Forbes et le New York Times):
https://datanitro.com
Ce n'est pas gratuit pour un usage commercial:
PyXLL - Excel add-in qui permet aux fonctions écrites en Python pour être appelé dans Excel.
OriginalL'auteur denfromufa
Faire, vous devez appeler le code Python comme une macro? Vous pouvez utiliser COM crochets dans le script Python pour direct Excel et éviter d'avoir à utiliser une autre langue:
ok, jamais l'esprit, alors =).
OriginalL'auteur Katriel
Mis à jour 2018
xlwings est sous licence BSD bibliothèque Python qui permet d'appeler facilement Python à partir d'Excel et vice versa.
Udf: Écrire des Fonctions Définies par l'Utilisateur (Udf) en Python (Windows uniquement).
Installation
Démarrage rapide
OriginalL'auteur Christopher Peisert
Il y a un tutoriel sur CodeProject sur la façon de le faire.
Voir http://www.codeproject.com/Articles/639887/Calling-Python-code-from-Excel-with-ExcelPython.
OriginalL'auteur ehremo
Autre open source python-excel dans le processus com outil.
Cela permet l'exécution de scripts python à partir d'excel dans une solution étroitement intégrée.
https://pypi.python.org/pypi/Python-For-Excel/beta,%201.1
OriginalL'auteur Testautomation