En tant que première étape dans la création d'un script VBA pour redimensionner une image actuellement sélectionnée à 100% x 100%, j'essaie de reproduire l'exemple dans http://msdn.Microsoft.com/en-us/library/ee814736 (v = office.14) .aspx . La macro est très simple:
Sub Test()
MsgBox ("Hello world")
End Sub
Le script VBA a simplement été créé dans "Projet1" qui s’ouvre par défaut lorsque l’on appuie sur Alt + F11. Cependant, le message d'erreur "Sous-fonction ou fonction non définie" persiste lorsque j'essaie d'exécuter le script VBA (figures 1 et 2).
Comment puis-je rendre le script VBA 'accessible' à Outlook?
Figure 1 Exécution de la macro "Test" dans Microsoft Outlook
Figure 2 Erreur "Sous-fonction ou fonction non définie" avec arborescence du module en arrière-plan
J'ai résolu le problème en suivant de plus près les instructions sur msdn.Microsoft.com. Là, il est indiqué qu'il faut créer la nouvelle macro en sélectionnant Développeur -> Macros, en tapant un nouveau nom de macro et en cliquant sur "Créer". En créant la macro de cette manière, j'ai pu l'exécuter (voir la boîte de message ci-dessous).
Cela ne répond probablement pas à votre question, mais j'avais la même question et elle a répondu à la mienne.
J'ai changé Private Function
en Public Function
et cela a fonctionné.
Cette erreur «Sub ou Function non définie» viendra chaque fois qu'il y a une erreur de compilation dans le script, veuillez donc vérifier la syntaxe de votre script.
J'imagine que c'est pourquoi, lorsque vous utilisez msqbox au lieu de msgbox, l'erreur est renvoyée.
J'ai eu une situation similaire avec ce problème. Dans ce cas, cela aurait ressemblé à ceci
Sub Test()
MsqBox ("Hello world")
End Sub
Le problème était que j’avais beaucoup plus de code et que je ne pouvais pas le reconnaître, il y avait une faute d’orthographe dans "MsqBox" (q au lieu de g) et j’avais donc une erreur, c’était vraiment trompeur, sur cette erreur comme celle-là, peut-être que quelqu'un d'autre remarquera qu'elle a été causée par une faute d'orthographe telle que celle-ci ...
Je pense que vous devez mettre à jour vos bibliothèques pour que votre code VBA fonctionne, votre utilisation de MS Outlook
Je dois ajouter que, si le nom du module et le sous-nom sont les mêmes, vous avez ce problème. Envisagez de changer le nom du module en mod_Test au lieu de "Test", qui est identique à celui du sous-programme.