Excel question "excel 4.0 fonction stockée dans les noms définis"

je suis en train d'essayer d'isoler le problème causant l'

"excel 4.0 fonction stockée dans les noms définis"

ce que je suis incapable de comprendre est la raison derrière cela.

Excel Issue During Save

ce numéro a commencé à paraître récemment et n'a pas réussi à comprendre pourquoi.

22
demandé sur Ayusman 2014-09-28 21:04:10

7 réponses

Je ne voulais pas bousculer un vieux fil, mais j'avais aussi ce même problème et je voulais poster ma résolution au cas où quelqu'un d'autre expérimenterait la même chose que moi.

mon problème a fini par être causé par un MySQL Excel COM add-on qui était un composant inclus dans le paquet MySQL Workbench. La désactivation de cet ajout a fait disparaître l'invite macro lors de la sauvegarde des tableurs.

42
répondu Chris Brock 2015-02-26 14:32:45

pour moi ce message a été causé par le MySQL pour Excel COM Add-In. Le message a cessé d'apparaître lorsque j'ai déchargé L'Add-In COM.

13
répondu ChipsLetten 2014-11-12 10:51:26

la solution déjà indiquée est correcte: désactiver le MySQL pour Excel COM Add-in.

la raison du message est que cet add-in ajoute des noms cachés pour le classeur. Ces noms ne sont pas visibles dans le Gestionnaire de noms Excel. Mais vous pouvez les voir dans la fenêtre VBA Direct si vous ajoutez ce code à un module de classeur:

Public Sub DEV_CheckNames()

Dim n As name
For Each n In ActiveWorkbook.Names
    If Not n.Visible Then
        Debug.Print n.NameLocal, n.RefersToLocal
        'If you want to delete the name, uncomment this line:
        'n.Delete  
    End If
Next
End Sub

Résultat (pour un allemand de l'instance d'Excel 2013):

LOCAL_DATE_SEPARATOR        =INDEX(ARBEITSBEREICH.ZUORDNEN(37);17)
LOCAL_DAY_FORMAT            =INDEX(ARBEITSBEREICH.ZUORDNEN(37);21)
LOCAL_HOUR_FORMAT           =INDEX(ARBEITSBEREICH.ZUORDNEN(37);22)
LOCAL_MINUTE_FORMAT         =INDEX(ARBEITSBEREICH.ZUORDNEN(37);23)
LOCAL_MONTH_FORMAT          =INDEX(ARBEITSBEREICH.ZUORDNEN(37);20)
LOCAL_MYSQL_DATE_FORMAT     =WIEDERHOLEN(LOCAL_YEAR_FORMAT;4)&LOCAL_DATE_SEPARATOR&WIEDERHOLEN(LOCAL_MONTH_FORMAT;2)&LOCAL_DATE_SEPARATOR&WIEDERHOLEN(LOCAL_DAY_FORMAT;2)&" "&WIEDERHOLEN(LOCAL_HOUR_FORMAT;2)&LOCAL_TIME_SEPARATOR&WIEDERHOLEN(LOCAL_MINUTE_FORMAT;2)&LOCAL_TIME_SEPARATOR&WIEDERHOLEN(LOCAL_SECOND_FORMAT;2)
LOCAL_SECOND_FORMAT         =INDEX(ARBEITSBEREICH.ZUORDNEN(37);24)
LOCAL_TIME_SEPARATOR        =INDEX(ARBEITSBEREICH.ZUORDNEN(37);18)
LOCAL_YEAR_FORMAT           =INDEX(ARBEITSBEREICH.ZUORDNEN(37);19)

Ces noms sont ajoutés à l'actif cahier d'exercices au moment où vous cliquez sur le bouton de l'add-in (qui ouvre le taskpane). Malheureusement, je n'ai pas trouvé encore pourquoi MySQL ajouter-ajoute parfois ces noms par lui-même sans être activé.

Ajouté: ceci est un bug connu dans le MySQL pour L'Add-in Excel à partir de http://bugs.mysql.com/bug.php?id=73467

5
répondu domke consulting 2015-04-18 06:57:13

J'ai le même problème dans Excel 2013 et j'ai été résolu en déchargeant le MySQL Add in - je l'ai fait en allant dans FILE - OPTIONS - Add Ins

4
répondu TomShantisoft 2015-02-10 10:05:50

comme dans la réponse de ChipsLetten, même solution ici sur mon ordinateur: sur la sauvegarde de certains (en fait macro libre) classeur, je reçois une alerte "Excel 4.0 fonction stockée dans des noms définis", et une option pour enregistrer le classeur comme "macrop-enabled". En désactivant le COM-Add-in" MySQL pour Excel", l'alerte n'apparaît plus.

pour désactiver L'add-in" MySQL for Excel "(si vous l'avez déjà installé): onglet "Developper", puis bouton "COM Add-Ins", et vous obtenez une liste d'add-ins que vous pouvez activer ou désactiver par marque.

1
répondu Christian Geiselmann 2015-01-04 11:52:28

avez-vous installé un connecteur pour excel?, peut-être que c'est la cause du problème, juste désinstaller et l'erreur sera parti.

0
répondu dennisbot 2014-10-15 20:12:21

si vous avez des feuilles de travail avec des gammes cachées comme décrit dans la réponse de domke consulting, vous pouvez utiliser le code suivant pour les supprimer:

Public Sub Remove_Hidden_MySQL_Names()

Dim n As Name
For Each n In ActiveWorkbook.Names
    If Not n.Visible Then
        'Delete Names added by MySQL for Excel add-in
        If (InStr(n.NameLocal, "LOCAL_") <> 0 And (InStr(n.NameLocal, "_FORMAT") <> 0 Or _
                                                    InStr(n.NameLocal, "_SEPARATOR") <> 0)) Then
            Debug.Print "Would delete", n.NameLocal, n.RefersToLocal
            'If you want to delete the name, uncomment this line:
            'n.Delete
        Else
                Debug.Print "Keeping", n.NameLocal, n.RefersToLocal
        End If
    End If
Next
End Sub
0
répondu nkatsar 2016-04-14 19:48:01