65 votes

La longueur du nom d'une feuille de calcul Excel est-elle limitée?

Quand j'ai essayer de mettre une longuets nom de feuille de calcul à l'aide de ruby et win32ole avec le code suivant:

require "win32ole"
excel = WIN32OLE.new('Excel.Application')
excel.Visible = 1
puts excel.version
workbook = excel.Workbooks.Add
worksheet1 = workbook.Worksheets.Add
worksheet1.Name = "Pseudopseudohypoparathyroidism" #Length 30, fine
worksheet2 = workbook.Worksheets.Add
worksheet2.Name = "Supercalifragilisticexpialidocious" #Length 34, not fine

Je reçois le texte suivant:

12.0
-:9:in `method_missing': (in setting property `Name': ) (WIN32OLERuntimeError)
    OLE error code:800A03EC in Microsoft Office Excel
      You typed an invalid name for a sheet or chart. Make sure that:

 The name that you type does not exceed 31 characters.
 The name does not contain any of the following characters:  :  \  /  ?  *  [  or  ]
 You did not leave the name blank.
    HRESULT error code:0x80020009
      Exception occurred.
        from -:9:in `<main>'

La version 12.0 indique que je suis sous Excel 2007, mais c'est pour se plaindre que le nom de la feuille est trop long. J'ai eu un coup d'oeil à Excel 2007 spécifications et limites comme indiqué dans cette réponse, et je ne parvenais pas à trouver de mentionner cette limite. (En essayant de renommer une feuille de calcul manuellement suggère il peut y avoir une telle limite, toutefois)

Est-il une limite, et c'est une dure limite ou une qui peut être modifiée en changeant la configuration d'Excel?

101voto

mjfgates Points 2089

Le format de fichier de permis jusqu'à 255 caractères, noms de feuille de calcul, mais si Excel UI ne veut pas que vous dépassant les 31 personnages, n'essayez pas d'aller au-delà du 31. L'application complète de bizarre sans-papiers, les limites et les imperfections, et de la nourrir fichiers qui sont dans spec, mais pas dans la gamme de choses que les testeurs auraient testé provoque généralement VRAIMENT un comportement étrange. (Favori personnel exemple: à l'aide d'Excel 4.0 bytecode pour un if() de la fonction dans un fichier avec Excel 97 de style stringtable, désactivé le bouton de barre d'outils pour le gras dans Excel 97.)

7voto

Andrew Cooper Points 21126

Si vous renommez une feuille de calcul manuellement dans Excel, vous atteignez une limite de 31 caractères. Je suggérerais donc que ce soit une limite stricte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X