[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/18(Thu) 13:05
投稿者名:リミット
Eメール:
URL :
タイトル:
スプレッドで特定の行のみフォーカスを許さない方法
はじめまして、リミットと申します。

SPREAD 3.0.15、VB6.0 SP6、Windows2000で開発しております。
スプレッドで特を許定の行のみ(セル)フォーカスさない方法はありますでしょうか?
表示させといて、その内容を変更させないようにするには
.Lockを使えば出来ると思うのですが、そのセルに移動
できないようにするには、どのようにすれば良いでしょうか?
また、そのようなことは出来ないのでしょうか?

以上、お分かりの方いらっしゃれば教えて下さい。
宜しくお願いします。

投稿時間:2004/11/18(Thu) 14:34
投稿者名:
Eメール:
URL :
タイトル:
Re: スプレッドで特定の行のみフォーカスを許さない方法
Q&Aより 抜粋です
Question:
セルに入力された値を判別し、それが無効な場合にセルの移動を禁止する方法を教えてください。  
Answer:
セルの移動を禁止する場合は、LeaveCellイベントの Cancel引数を使います。

次のコードは、入力された文字列が時刻として有効かどうかを判別し、無効な場合はセルの移動を禁止します。

  Private Sub vaSpread1_LeaveCell(ByVal Col As Long, ByVal Row As Long, ByVal NewCol As Long, ByVal NewRow As Long, Cancel As Boolean)
    Dim datCurrentCell As Date

    With vaSpread1
      .Col = Col
      .Row = Row
      If .CellType = SS_CELL_TYPE_PIC Then
        ’未入力の場合はデフォルトの値を入れます
        If .Text = "" Then .Text = .TypePicDefaultText

        On Error Resume Next
        datCurrentCell = Cdate(.Text)

        ’時刻として無効な入力の場合はセルの移動を禁止します
        If Err Then Cancel = True
      End If
    End With
  End Sub  

投稿時間:2004/11/18(Thu) 17:25
投稿者名:リミット
Eメール:
URL :
タイトル:
Re^2: スプレッドで特定の行のみフォーカスを許さない方法
レス有難う御座います。

私の説明不足でした。申し訳御座いません。
「セルの移動の禁止」ではなくて、「フォーカスがそのセルに移動するのを禁止」
というのが知りたいことです。マウスやキーボードを使って、指定したセルに対しての
移動を禁止する。といったことが知りたいのです。

何度もすいませんが、宜しくお願いします。