Khi tôi cố gắng thiết lập một tên bảng hơi dài sử dụng ruby và win32ole với đoạn mã sau:Có giới hạn về độ dài tên bảng tính của Excel không?
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
tôi nhận được như sau:
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>'
Phiên bản 12.0 chỉ ra rằng tôi đang chạy Excel 2007 , nhưng nó phàn nàn rằng tên bảng tính quá dài. Tôi đã xem Excel 2007 specifications and limits như đã đề cập trong this related answer và tôi không thể tìm thấy nó đề cập đến bất kỳ giới hạn nào như vậy. (Tuy nhiên, cố gắng đổi tên trang tính theo cách thủ công có thể có giới hạn như vậy)
Có giới hạn hay không và có thể thay đổi giới hạn bằng cách thay đổi cấu hình của Excel không?
https://excelribbon.tips.net/T013175_Using_Very_Long_Worksheet_Tab_Names.html có thể được quan tâm, mặc dù không phải gần đây. – pnuts