エクセル構成管理

Last-modified: 2013-11-15 (金) 18:49:15

エクセルファイルの構成管理方法を検討する。

VBAパスワード解除

動的配列

書式数の制限について

  • 書式パターンのおおよその値を確認する方法
    • 名前を付けて保存→Excelマクロ有効ブック(*.xlsm)
    • xlsmファイルをzip展開し、xl/styles.xmlを取得する
    • styles.xmlをエディタなどで置換する。
        "><" → ">\n<"
    • 置換したファイルを"count="でgrepする
       ⇒以下のような結果となる
      <numFmts count="45">
      <fonts count="54">
      <fills count="10">
      <borders count="171">
      <cellStyleXfs count="46">
      <cellXfs count="3944">
      <cellStyles count="46">
      <dxfs count="0"/>
      <tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleLight16"/>
      cellXfs のカウントが、3940~3950くらいがリミットっぽい
      (他の値も影響しているかもしれないが、詳細は未確認)
      なんとなくそれっぽい値になっているのを見つけたレベルなので、信頼できるかどうかは不明

「移動またはコピー先のワークシートに既にある名前・・・」の確認ダイアログに関する調査

  • ブック範囲の名前と、シート範囲の名前が、同じ名前で混在すると、
     異なるブックへのシートコピーで上記の確認ダイアログが表示される場合がある。
  • ブック範囲の名前で、参照先と参照元が同一となるシートをコピーした場合、
     コピー後のシート範囲の名前が作成される。
     例)Excel2007で確認
      - シート1!A1を参照する「名前1」を、ブック範囲で作成する
      - シート1!A2に、「名前1」を使用する式を設定する
      - シート1のコピーを同一ブックで作成する
      ⇒コピー後のシートのA1セルを参照する「名前1」が、シート範囲で作成される
  • シートから参照する名前は、シート範囲で作成した方がよさそう。
     ただし、シート範囲の名前にした場合、他のシートから参照するときには
     シート名!名前 のように記述する必要がある。
     マクロからのみ参照される名前については、ブックでもよいかも。

クラスモジュール

メモ

エクセルTipsサイト