お世話になります。
現在、VBからExcelを操作するPGを作成しています。
セルの内容を変更しようと、Formulaプロパティで
文字列を取り出すタイミングでエラーが発生する
事があります(「アプリケーション定義またはオブジェクト定義のエラーです。」)。
対象のExcelファイルを開いてみると、エラーが発生する
セルは計算式で1000バイトを超える長文が入っていました。
ここでお聞きしたいのですが、セル内の文字列長というのは
○○バイトまで!とか決まりがあるのでしょうか?
また、今回のように長文のセル内容を
別の方法で取得する事はできないのでしょうか?
ちなみにしたい事は、
「計算式のセルに保護をかける」です。
現状、
1.対象シート内から"="を検索(Find関数)
2.該当セルの内容文字列を取得(Formulaプロパティ)
3.1文字目が"="ならLocked=True
と言う処理をしています。文字列長が長いセルは2.の箇所でエラー
になってしまいます。
#もっと計算式を整理しろ!と思いますが、ちょっと
#諸事情で編集する事ができません。
以上、よろしくお願いいたします。
環境 VB6.0(SP4) Office2k
ググって見ました。
キーワードは「Excelに 入力できる 数式の 長さ 最大値」
ということで数式の最大サイズは1024文字までのようです。
すいません、ググる以前にヘルプでキーワード
"制限事項"を調べたらやはり、数式は1024と載っていました。
調べる順番が逆だ。(YY
いなさん、ありがとうございました。
ヘルプに載っていましたね。お騒がせしました。
ですです。
--
んと、現実的な解決法としては、
一度この制約を超えないように計算た結果を、
ダミーの場所(たとえばIV65536のセルとか)に表示させ
その計算結果を利用して、式を短くする方法もあるけれど・・・。
>#諸事情で編集する事ができません。
が本当に編集できないのであれば、Excelの制限ということで
あきらめになってしまうのかなぁ〜