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

投稿時間:2004/10/14(Thu) 11:41
投稿者名:ねこ
Eメール:
URL :
タイトル:
SPREAD Ver.6.0Jについて
こんにちわ。初めて投稿させて頂きます。

最近VBを勉強し始め、まだVB初心者です。
今、勉強のために簡単な生産管理システムの様な物を作っています。

スプレットシートについて質問なんですが。
画面で、リストを表示するためにスプレットシートを使っています。
リストに表示する行数をソースで書き換えていて、一定行数超えた場合、スクロールバーを表示するようしているのですが、その固定行超えた場合、超えた行の罫線がどうしても表示されません。
ヘルプなどで調べてもどうしてもわかりません。


**以下、スプレットシートの表示を設定しているソースです**
'--------------------------------------------------
'スプレッドシートにT_取得Noの値をセットし表示
'--------------------------------------------------
Private Function DspHosyuModelList(ByRef Arrange() As HosyuModelTbl)
    Dim lngLp   As Integer
    Dim iMod    As Integer
    Dim i       As Integer
    
    DspHosyuModelList = True
    
    Call InitSpread(Sprd)    'スプレットシートの初期化
    
    With Sprd
        .ReDraw = False
        .VisibleCols = HOSYUMENUCOL            '表示列の設定
        .VisibleRows = HOSYUMENUROW            '表示行の設定
    '(固定行数は標準モジュールでConstしています)
        
        'T_取得No.データをセット
        If CInt(HOSYUMENUROW - 1) < UBound(Arrange) + 1 Then
            .MaxRows = UBound(Arrange) + 1     '行数
            .Width = HODYUWIDA
            .Height = 5190
            .BorderStyle = BorderStyleFixedSingle   'ボーダースタイル
            .ShadowColor = BCOLOR
            .Col = 1
            .Col2 = .MaxCols
            .Row = 1
            .Row2 = .MaxRows
            .BlockMode = True
            'バックカラーの設定
            .BackColor = BCOLOR
            .BlockMode = False
        Else
            .MaxRows = HOSYUMENUROW
            .Width = HOSYUWID
            .Height = 5190
            .ShadowColor = BCOLOR
            .Col = 1
            .Col2 = .MaxCols
            .Row = 1
            .Row2 = .MaxRows
            .BlockMode = True
            'バックカラーの設定
            .BackColor = BCOLOR
            .BlockMode = False
        End If
        DoEvents
        
        'ヘッダ部色
        .Col = 1
        .Col2 = 7
        .Row = 1
        .Row2 = 1
        .BlockMode = True
        'バックカラーの設定
        .ShadowColor = &HFF8080
        .BackColor = &HFF8080
        '表示内容のクリア
        '.Action = SS_ACTION_CLEAR_TEXT
        .BlockMode = False
    '構造体の値をスプレットシートにセット
        '省略します。
***********************

私としては、MaxRowの設定が不味いのではないかと思いますが、
デバックで追うと問題有りません。
長い文章になってしまい、またつたない文章ですがご教授頂けますでしょうか。
よろしくお願いいたします。

投稿時間:2004/10/14(Thu) 12:03
投稿者名:ねこ
Eメール:
URL :
タイトル:
Re: SPREAD Ver.6.0Jについて
すみません。環境を書き忘れてしまったので追記します。

VB6.0 SP6 , winXP Home SP1 です。

投稿時間:2004/10/14(Thu) 12:58
投稿者名:VFR
Eメール:
URL :
タイトル:
Re: SPREAD Ver.6.0Jについて
>             .BorderStyle = BorderStyleFixedSingle   'ボーダースタイル
>             .ShadowColor = BCOLOR
>             .Col = 1
>             .Col2 = .MaxCols
>             .Row = 1
>             .Row2 = .MaxRows

罫線を引くのであれば
  SetCellBorderメソッドが使用できます。
詳細はヘルプを確認してください。

投稿時間:2004/10/15(Fri) 10:41
投稿者名:ねこ
Eメール:
URL :
タイトル:
Re^2: SPREAD Ver.6.0Jについて
VFRさん、返信ありがとうございました。

教えて頂きましたSetCellBorderメソッドを使用して、解決しました。
ありがとうございました。