Excelのワークシートの名前の長さに制限はありますか?
2023-12-02 06:52:54
質問
rubyとwin32oleを使って、以下のコードで長ったらしいワークシート名を設定しようとすると。
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
というのが出てきます。
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>'
バージョン12.0を見ると、Excel2007が動いているのですが、ワークシート名が長すぎると文句を言われます。私は、以下のものを見てみました。 Excel 2007 の仕様と制限 に書かれているように この関連回答 にあるように、私はそのような制限に言及するものを見つけることができませんでした。(手動でワークシートの名前を変更しようとすると、そのような制限があるかもしれないことを示唆します。)
制限はあるのでしょうか、また、それは厳しい制限なのでしょうか、それとも Excel の設定を変更することによって変更できるものなのでしょうか。
どのように解決するのですか?
ファイル形式は 255 文字のワークシート名まで許可しますが、Excel UI が 31 文字を超えることを望んでいない場合は、31 文字を超えようとしないでください。アプリには文書化されていない奇妙な制限や癖がたくさんあり、仕様の範囲内であってもテスターがテストしたであろう範囲外のファイルを与えると、たいてい本当に奇妙な動作が起こります。(個人的に好きな例: Excel 97 形式の文字列表を含むファイルで if() 関数に Excel 4.0 のバイトコードを使用すると、Excel 97 の太字用のツールバー ボタンが無効になりました。)
関連
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] Excel の相互運用オブジェクトを適切にクリーンアップするにはどうすればよいですか?
-
[解決済み] CSV/Excelに最適なタイムスタンプ形式は?
-
[解決済み] なぜExcelは同じ名前のファイルを2つ扱えないのですか?[クローズド]
-
[解決済み] セルが変わると自動的にExcelマクロを実行する
-
[解決済み] VBAを使用してプログラム的に参照を追加する方法
-
[解決済み] Cellの値がColumnに存在するかどうかを確認し、Next Cellの値を取得する。
-
Excelマクロをコマンドラインまたはバッチファイルから実行する方法は?
-
Excelで数式だけで一意の値を取得する
-
workbook.saveasを自動上書きで使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 列の最後の非空白セル
-
[解決済み] リンク更新の警告を表示しないようにするには?
-
[解決済み] VBAでFileSystemObjectを使用するにはどうしたらよいですか?
-
[解決済み] Excel での ISO8601 日付/時刻 (TimeZone を含む) のパース
-
[解決済み] マクロを使用してExcelワークブックのすべてのピボットテーブルをリフレッシュする
-
[解決済み] ワークブック内の各シートを別々のCSVファイルに保存する
-
[解決済み] ユーザー定義関数にツールチップを表示する方法
-
配列の長さを取得しますか?
-
Excel VBA関数の結果をリフレッシュする
-
コードゴルフ:Excelの列名に相当する数値