2016-08-23 2 views
0

J'ai créé un complément pour Word qui communique avec un programme cmd tiers via une API que j'ai écrite en C# en utilisant Visual Studio. La communication a lieu en utilisant stdin et stdout. Le programme fonctionne pour le mot 2007, 2010, 2013, 2016 pour Windows. J'ai aussi réussi à le porter sur Word 2011 pour Mac. J'ai également réussi à le porter sur Word 2011 pour Mac. L'API est écrite en c en utilisant xcode, mais en utilisant stdin et stdout. L'API sur mac est un dylib, que je peux référencer dans l'éditeur visuel de base. Je n'arrive pas à répliquer cela sur la version 2016 d'Office pour Mac. Je soupçonne que ce ne soit pas possible, en raison de nouvelles restrictions de sécurité. Lorsque j'essaie de référencer un fichier, je ne peux que choisir les fichiers .tlb (bibliothèques de types). Je n'ai créé que des fichiers tlb en utilisant Visual Studio sur Windows et je n'ai aucune idée de comment vous pourriez le faire sur un mac.Macro complément Word 2016 pour Mac

Quelqu'un peut-il répondre si ce que j'essaie de faire est encore possible sur la version 2016 d'Office pour Mac, et où je pourrais trouver de la documentation sur la façon de créer des fichiers qui peuvent être référencés?

Pour votre information: Le complément est appelé WordMat: www.eduap.com

Informations complémentaires informations suivantes de @erik ci-dessous Je vais avoir du mal à déclarer les fonctions dans mon lib. Voici ma déclaration de déclaration: Declare PtrSafe Function VBstrlen Lib "/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/libMaximaConnection.dylib" (ByVal s As String) As LongPtr

La fonction est une fonction de test simple qui renvoie la longueur d'une chaîne. La fonction declare fonctionne comme prévu dans Word 2011 en utilisant le chemin ci-dessus.

L'erreur signalée est erreur 53 fichier ne peut pas être situé

Le dylib est 32 bits compilé, donc je m'y attendais pas à travailler depuis la mise à jour 64 bits d'Office 2016, mais je me attends une erreur 453 DLL ne peut pas être trouvée comme Word 2011 signalerait.

+0

Mikael, grâce à l'affichage de cette question. Je me demande si vous avez déjà réussi à trouver une solution à ce problème. Seriez-vous capable de mettre à jour/partager? – Arieleo

+0

Oui. L'erreur générée était trompeuse. Lorsque le dylib a été mis à jour et compilé pour 64 bits, le problème a été résolu. L'instruction de déclaration mentionnée ci-dessus est OK. –

+0

Je vais essayer ça; Merci pour la mise à jour! – Arieleo

Répondre

0

Office 2016 est en mode bac à sable, avec des autorisations limitées pour lire les fichiers qui résident à des endroits spécifiques. J'ai écrit ce document sur l'installation du contenu utilisateur pour Mac Office 2016 avec lequel vous pouvez commencer: http://macadmins.software/docs/UserContentIn2016.pdf

Plus précisément, dylibs doit être situé dans ~/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Add-Ins. localized/si elles sont installées pour chaque utilisateur spécifique, ou dans/Bibliothèque/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/si elles sont installées une seule fois sur la machine pour tous les utilisateurs à partager.

Les applications Office 2016 ne peuvent plus lire les emplacements de fichiers arbitraires. Séparément, l'impossibilité de choisir un fichier non-typelib lorsque vous essayez d'ajouter des références de fichiers peut être un bogue. Je vais devoir jeter un coup d'oeil.

Schwieb (Ingénieur logiciel principal, groupe Expériences Plate-forme Apple, Microsoft Corporation)

+0

Merci beaucoup.Cela semble prometteur. Je peux choisir n'importe quel fichier sous les références, mais il n'apparaîtra pas dans les références. Cela peut fonctionner si le fichier est au bon endroit. –

+0

Ok, j'ai maintenant essayé les deux emplacements de dossier sans aucune chance. –

+0

Lorsque j'essaie de sélectionner le dylib, je ne peux tout simplement pas le sélectionner: il est grisé. L'extension de fichier par défaut est un fichier de mots qui peut être changé en tlb ou 'n'importe quel fichier'. Choisir "n'importe quel fichier" n'aide pas. J'ai vérifié les noms de dossiers plusieurs fois lettre par lettre. FYI Si je vais à un endroit où je peux choisir un fichier de mots, et choisir 'n'importe quel fichier', le fichier de mots sera également grisé. Exécuter Yosemite 10.10.4. –