過去のログの中からMSFlexGrid関係でのQ&Aを抜粋してます。よく似た項目別に、日付順で表示しています。
従って、同じ質問や回答が前後して重複している場合もあります。又行列関係と編集関係は区分けが難しいので
両方を探して頂ければ幸いかと思います。
貴重な時間を割いて回答して頂いておりますので無駄にせず、質問される前にぜひ目を通しておいて下さい。
MSFlexGrid過去のログ    (行列関係)
No.0762 MSFlexグリッドの列を非表示に  投稿者:カフェ [99/10/13(水)21:49分]
  Oracleから抜いてきたデータをフレックスグリッド表示しているんですが、
  印刷時のみの項目があり、その列は非表示にしたいのです。

  列幅を0に設定する以外の方法を探しています。
  ご存知の方はメールをいただけませんか。
  よろしくお願いします。
No.1061 フレキシブルグリッドについて  投稿者:tree [00/4/14(金)15:55分]
  はじめまして。
  早速ですが質問です。
  フレキシブルグリッドを使っているのですが分からない事があります。
  セルを選択して入力するとそのセルにフォーカスがありますよね。
  そのフォーカスをセルがある行以外の行に移したいのですが
  どのように方法があるのでしょうか?
  詳しい方が教えてください。
  よろしくお願いします。
No.1062 RE:フレキシブルグリッドについて 投稿者:花ちゃん [00/4/15(土)9:38分]
  ここの「逆引きヘルプ一覧表」や「MSFlexGrid関係」はご覧になられたのでしょうか?
  質問される前に一度掲示板の過去のログや簡単な事なら当HPの逆引きヘルプを調べて見て下さい。
  又、「こんなサンプルどこにある」のコーナーでも知りたい事がでているかも知れません。
No.1099 MSHFlexGridでの固定行について...  投稿者:ウキウキモンキー [00/4/26(水)18:58分]
  こんにちは!!
  MSHFlexGridを使い固定列(FixdCols)を指定しました。標準モジュールを使用して実行した場合は
  通常通り固定列を決める事ができました。
  しかし、Active Xコントロールで同じ様に指定した場合固定列の指定ができませんでした。
  これは単なる私のチョイミスでしょうか?
  指定方法は以下の通りです。

  Private Sub Form_Load()
    With MSHFlexGrid1
      .FixedCols = 5
      .FixedRows = 1
    End With
  End Sub
No.1635 MSFlexGridの固定行について  投稿者:くんぼー [00/11/10(金)17:46分]
  こちらの セルに直接データを入力する(エクセルのように)をダウンロードし使用させて頂いております。
  その中に固定行の指定(.FixedRows)があるんですが、私の場合2行固定しているのですが、
  1行目のセルに入力、2行目のセルに出力表示させたいのですが、セルをクリックするとその列全てが
  選択されてしまい入力できません。何か手段はないでしょうか? 
  またエクセルでいうウィンドウの固定ができればよいのですが..どなたか教えて下さい。
No.2015 MSFlexGridの指定行、指定列の表示  投稿者:すじんちゅ [01/4/12(木)12:25分]
  お世話になります。
  VB6.0(SP4)で開発を行っています。
  MSFlexGridの指定行、指定列をRowHeightやColWidthを
  使わずに非表示にすることは可能ですか?

  可能ならばその方法を教えて欲しいのですが。
  誰かご存知の方よろしくお願いします。
No.2331 MSFlexGrid の複数セル選択不可  投稿者:おーちゃん [01/6/22(金)22:14分]
  こんばんは、いつもお世話になってます。
  うえっち様、遅くなりましたがご回答有難うございました。
  今、フレックスグリッドを使ってエクセルの用に直接入力を出来る様にしているのですが、
  マウスでセルを複数行選択できないようにしたいのです。
  本音はそこまでの処理はしたくないので・・・(^.^)
  グリッドのフォームを3つ作っているのですが、1つんおフォームだけは
  複数のセル選択が出来ないのです。
  何度もデザイン時のプロパティをにらめっこしてても何も違いが無いのです。
  コードにもプロパティをいじっている所は同じなのです。

  挙句の果てには、その「選択できないグリッド」をコピーしていっても
  駄目でした。

  もう何が違うのかぜんぜんわかりません。
  それともただのバグなのでしょうか?

  またまた、ご回答お願い致します。
No.2332 RE:MSFlexGrid の複数セル選択不可  投稿者:MIZO [01/6/23(土)0:18分]
  強調表示(HighLight)のプロパティをNever(flexHighlightNever)に
  設定するだけで選択できなくなりましたが・・・・(^^ゞ
  ()内はコードで設定する場合のプロパティ。
No.2723 msflexgrid  投稿者:ゴジオ [01/9/07(金)16:43分]
  はじめて投稿します。  よろしくおねがいします。
  質問
  msflexgridを使ってデータを表示させています。
  1行目にFixedColsをつかって固定し
  列の見出しを表示させているのですが
  その部分にマウスをあてドラッグしたまま少し左右にずらすと
  グリッドのカーソルが上に動いてしまいます
  これをとめるにはどうすればいいのでしょうか?
No.3049 MSFlexGridを使用して  投稿者:りゅう [01/10/31(水)23:30分]
  初めてメールします。
  MSFlexGridを使用して、データ入力画面を作ろうと思っているのですが、
  例えばカーソルが1行目にある時は3行目を非表示にして、2行目にカーソルが
  ある時は3行目を表示する、といったようなことができるのでしょうか?
No.3053 Re:MSFlexGridを使用して  投稿者:ゆう(U) [01/11/01(木)14:58分]
  > 例えばカーソルが1行目にある時は3行目を非表示にして、2行目にカーソルが
  > ある時は3行目を表示する、といったようなことができるのでしょうか?

  ユーザー操作で行の高さを変更させないのであれば・・・

  その行の高さを0にすると表示はされません。
  ※固定列の部分の格子線が少し変化します

  もしくは、必要になった場合「AddItem メソッド」で
  位置を指定して挿入するとか・・・
  ※非表示の時には「RemoveItem メソッド」で・・・
   内容は別途コード内で管理することになります
No.3134 MSFlexGrid 選択列を削除する方法  投稿者:ちゃぶ [01/11/13(火)14:31分]
  こんにちは。いつもお世話になってます。
  H.P.内で、行の削除と挿入のサンプルをいただいて
  活用しています。有難うございます。
  しかし、今回、「列を削除する」をする方法が見つかりません。
  どなたか教えて下さい。宜しくお願いします。
No.3135 Re:MSFlexGrid 選択列を削除する方法  投稿者:ゆう(U) [01/11/13(火)15:29分]
  「MSFlexGrid コントロール」には列を削除する
  メソッドはありません。
  「Cols プロパティ」で列数を変更する以外、
  列を減らす事は出来ません。
  ということで・・・
  削除する列以降を移動し、最後の列を減らす
  感じで列削除用関数を自作してみてください。
  ヘルプ参照
  「ReDraw プロパティ」
  「Cols プロパティ」
  「Col プロパティ」
  「ColSel プロパティ」
  「Row プロパティ」
  「RowSel プロパティ」
  「Clip プロパティ」
  など
No.3205 MSFlexGridの固定列について  投稿者:ヒロ [01/11/19(月)11:12分]
  はじめまして!
  今回始めて質問させて頂くのですが、宜しくお願い致します。

  今MSFlexGridにで固定列の幅が変更された時にどのイベント、
  どのタイミングで値を取得したらいいのかわからなくて困ってます。
  固定列の幅は変更できないとデータが入りきらないので、変更可能のままにしておきたいのですが
  ちなみにMouseMoveやMouseUpは固定列だとイベントを認識してくれません。

  いいアドバイスをお願いします。
No.3208 RE:MSFlexGridの固定列について  投稿者:NAO★ [01/11/19(月)14:02分]
  変更前のColWidthのプロパティの値を保存しておき、
  MouseUPイベント時にColWidthプロパティが変更されたかどうか
  調べてみるのはどうでしょうか?
No.3209 RE:MSFlexGridの固定列について  投稿者:NAO★ [01/11/19(月)15:02分]
  すみません。試しにやってみたらMouseUPイベントではダメでした
  MouseMoveなら幅の変更中はやはりイベントが発生しませんが、
  変更し終わったときにイベントが発生するのでMouseUpの代わりになりそうです。
  Dim colw As Long
  Sub Form1_Load()
  MSFlexGrid1.AllowUserResizing = True
  colw = MSFlexGrid1.ColWidth(0)
  End Sub

  Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  If colw <> MSFlexGrid1.ColWidth(0) Then
  colw = MSFlexGrid1.ColWidth(0)
  MSFlexGrid1.Text = colw
  End If
  End Sub
No.3218 Re:MSFlexGridの固定列について  投稿者:ゆう(U) [01/11/20(火)10:35分]
 意地悪な動作確認をすると、Mouse_Moveすら発生させずに
 幅の変更が可能です。
 ※格子に重ねる感じでマウスを移動させる
  ここ↓から入れていく感じ
  ┌─┬─

 フォーカスがきた時点から、外れるまで「タイマーコントロール」
 で監視してはいかがでしょう?

 他には、サブクラス化してヘッダー系のメッセージを
 監視するとか・・・
 ※未確認です

 後はユーザーにサイズ変更させずに、表示内容を確認しコードで
  幅の変更をしてしまうとか・・・

  ちなみに、固定列以外のサイズ変更は問題はないのでしょうか?
No.3714 MSFlexGridで複数行の選択の方法を教えて下さい。 投稿者:弁天 [02/1/23(水)18:46分]
  現在、VB6.0で開発を行っています。
  MSFlexGridで複数行を指定した場合の値のとり方を教えて下さい。
  また、単一指定のみの設定方法を教えて下さい。
  よろしくお願い致します。
No.3716 RE:MSFlexGridで複数行の選択の方法  投稿者:花ちゃん [02/1/23(水)18:59分]
  連続していれば、選択範囲を取得して For 〜 Next で読み込むとか
  個別の場合は、左のフレームの MSFlexGrid関係 を見て下さい
No.3726 フレックスグリッドの複数行の選択不可  投稿者:なみ [02/1/24(木)18:16分]
  こんばんわ。なみです。
  フレックスグリッドで複数行の選択を不可にする方法はないのでしょうか?

   '選択行反転表示可
   .HighLight = flexHighlightAlways
   '行選択
   .SelectionMode = flexSelectionByRow
  でやっています。この場合だと複数行選択が可能になってしまいます。
  それを不可にする方法はあるのでしょうか?
  よろしくお願いします。
No.3782 フレックスグリッドの初期表示  投稿者:なみ [02/2/01(金)13:32分]
  こんにちわ。なみです。
  フレックスグリッドで選択された行全てを反転するようにしています。
  その時の初期表示としましてフレックスグリッドの10行目を反転して表示したい
  と思っています。
  しかし、初期表示だと行全体が反転されす一カラムだけ反転します。
  最初から行全体を反転表示する方法はないのでしょうか?
  よろしくお願いします。
No.3783 RE:フレックスグリッドの初期表示   投稿者:花ちゃん [02/2/01(金)16:28分]
  確認が不十分ですが、多分これでいけるかと思います。
  With MSFlexGrid1
   .Row = 10
   .RowSel = 10
   .Col = .FixedCols
   .ColSel = .Cols - 1
   .TopRow = 10
  End With
No.3963 MSFlexGrid内のデータ1行を取得する方法  投稿者:よしこ [02/2/28(木)11:56分]
  いつもお世話になっております。
  MSFlexGridの固定行を選択した時、その選択した1行が反転表示されます。
  その選択した1行のデータを全て取得する方法を教えて下さい。
  また選択されている行数を取得するプロパティもあったら教えて下さい。
  よろしくお願い致します。
No.3965 RE:MSFlexGrid内のデータ1行を取得する方法  投稿者:花ちゃん [02/2/28(木)14:27分]
  >MSFlexGridの固定行を選択した時、その選択した1行が反転表示されます。
  >その選択した1行のデータを全て取得する方法を教えて下さい。

  1セルずつ For 〜 Next で読込むしかないのでは

  >また選択されている行数を取得するプロパティもあったら教えて下さい。

  行数という事は複数行選択した場合何行選択したかという事ですよね
  選択した時に記録しておくのが一番の方法ですかね

  ここのMSFlexGrid関係や サイト内検索で検索されてもヒントになる事があると思いますよ
MSFlexGrid過去のログ   (編集関係)
No.0632 複数セルのコピー、ペーストについて  投稿者:neptune [99/8/05(木)9:28分]
  neptuneと申します。
  2度目の書込みです。宜しくお願いします。

  MSflexgridで質問があります。
  1.2つから5つのセルを選択しコピーし、貼り付けたい範囲の左端のセルを選択したらコピーされた範囲と
    同じ範囲にペーストしたい。
    私に考えられる方法は、位置、範囲、データを変数に取り込んでおいてそれをセルにコピーするという方法
    ぐらいですが、もっと簡単な方法はないでしょうか?

  2.1に伴い、選択できる列を制限したい。
    SelectionMode プロパティは、コントロール全体しか適用できないのでしょうか?

  以上宜しくお願いいたします。
No.0635 RE:複数セルのコピー、ペーストについて  投稿者:花ちゃん [99/8/05(木)23:18分]
  私もMSFlexGridは色々試してみたのですが簡単な方法はないようです。
  おっしゃってるように起動時配列にでも読み込み For 〜 Next でコピーするしかないのでは
No.0638 Re:複数セルのコピー、ペーストについて  投稿者:ゆう(U) [99/8/06(金)16:25分]
  とりあえず、コピー・ペーストに使えそうなのは・・・
  Clip プロパティ (フレキシブルグリッドコントロール)
  ですけど・・・

  範囲(選択領域)設定などは自分でおこなう・・・って事で。
No.0639 お礼:複数セルのコピー、ペーストについて  投稿者:neptune [99/8/06(金)17:51分]
  花ちゃんさん
  Resどうもありがとうございました。
  >私もMSFlexGridは色々試してみたのですが簡単な方法はないようです。
  >おっしゃってるように起動時配列にでも読み込み For 〜 Next でコピーするしかないのでは
  やはりそうですか(-_-)
  ロジック今から考えてみます。でも実際に使えるものを作るのは結構ややこしそう。(;_;)

  これに関連してですが、MSFlexGridでWinの標準の様にCtrlを押しながらクリックして
  連続してないセルを選択することは出来るのですか?

  私なりに少しやってみたのですが判りません。
  どなたか教えてください。宜しくお願いします。
No.0641 RE:不連続のセルの選択の件  投稿者:花ちゃん [99/8/07(土)12:55分]

私なりの方法を考えて見ました。
データを入力してのテストをしていませんので、バグ等ありましたらお許し下さい。
Ctrl キーを押しながらクリックしたセルを反転色にして、後で(コピー等する前)反転色のセルを調べその
セルの内容を変数に代入(コピー先に貼り付け)しています。

Option Explicit
Dim KeyCtrl As Boolean 'Ctrl キーが押されているかの判定
Dim SelDatCount As Long 'セルデータのカウント


Private Sub MSFlexGrid1_Click()
If KeyCtrl = True Then
With MSFlexGrid1
If .CellBackColor = QBColor(1) Then
'再クリックした場合セル色を元に
.CellBackColor = QBColor(15)
.CellForeColor = QBColor(0)
Else
'セルに反転色を指定
.CellBackColor = QBColor(1)
.CellForeColor = QBColor(15)
End If
End With
End If
End Sub

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = vbCtrlMask Then
KeyCtrl = True 'Ctrl キーが押された
Else
KeyCtrl = False
End If
End Sub

Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)
KeyCtrl = False
End Sub

Private Sub SubDatCopy()
Dim i As Integer
Dim j As Integer
Dim SelDat() As Variant 'セルの内容取得用
SelDatCount = 0
'表示を早くするために一旦非表示に設定
With MSFlexGrid1
.Visible = False
'固定列は除く
For i = .FixedCols To .Cols - .FixedCols
'固定行は除く
For j = .FixedRows To .Rows - .FixedRows
.Col = i
.Row = j
'反転色のセルを探す
If .CellBackColor = QBColor(1) Then
SelDatCount = SelDatCount + 1
ReDim Preserve SelDat(SelDatCount) As Variant
'又はコピー先を指定して直接コピー
SelDat(SelDatCount) = .Text
.CellBackColor = QBColor(15)
.CellForeColor = QBColor(1)
End If
Next j
Next i
.Visible = True
End With
End Sub
No.0642 RE:不連続のセルの選択の件(追加)  投稿者:花ちゃん [99/8/07(土)20:30分]
  貼付け先のセルをクリックして、”貼付け”のボタンをクリックすることで
  任意の場所に次々貼付けできます。
  Private Sub Mpaste_Click()
  If SelDatCount = 0 Then
  SubDatCopy
  If SelDatCount = 0 Then Exit Sub
   End If
  SelCopyCount = SelCopyCount + 1
  If SelCopyCount > SelDatCount Then
  SelCopyCount = 0
  SelDatCount = 0
  ReDim SelDat(0)
  Exit Sub
  End If
   With MSFlexGrid1
   .Row = MyRow
  .Col = MyCol
  .Text = SelDat(SelCopyCount)
  End With
  End Sub

  これを追加すれば先ほどのサンプルは一部追加修正が必要です
No.646 Msflexgrid上での件数取得方法  投稿者:初心者 [99/8/09(月)13:03分]
  先日、テキスト読込でお世話になりました 初心者 です。
  先日はお答え頂きありがとうございました。
  今度はMsflexgridについてお聞きしたいことがあり、カキコさせて頂きます。
  Cell内に数値を入力し、その入力された件数を数えたい時、どのような関数で取得する
  事が出来るのでしょうか?
  VBAでは『COUNTA』という関数で取れるようなのですが、VBではどういった命令に
  なるのでしょうか?

  因みに、cellには
   Row=1,col=1 ・・・ 1 Row=1,col=2 ・・・ 2 Row=1,col=3 ・・・ 3
   Row=2,col=1 ・・・ 2 Row=2,col=2 ・・・ 1 Row=2,col=3 ・・・ 4
   Row=3,col=1 ・・・ 3 Row=3,col=2 ・・・ 4 Row=3,col=3 ・・・ 5 と入力し、

   Row=4,col=1 ・・・ 3 Row=4,col=2 ・・・ 4 Row=4,col=3 ・・・ 5 と結果を表示したいのですが。
 
   (row=4,col=2の4は、col1に3種類の数値がありcol2にはcol1と同じ数値が2つ含まれているので
    同じものは抜き、4だけが新しい数値として入力されている為、4を表示する。col=3も同条件です)

  どなたかご存知の方がいらっしゃいましたら、お教え下さい。
  宜しくお願い致します。 
No.0649 フレキシブルグリッド複数選択不可  投稿者:トム [99/8/11(水)13:59分]
  はじめまして。トムといいます。
  さっそくですが、フレキシブルグリッドで、複数選択をさせたくありません。
  何か方法があるのでしょうか?サブクラス化しないと出来ないのでしょうか。
  どなたか教えて下さい!
No.0652 Re:フレキシブルグリッド複数選択不可  投稿者:ゆう(U) [99/8/20(金)2:26分]

    これならいかが・・・

    Option Explicit
    Private blnMouseDown As Boolean
    Private blnShift As Boolean
   
    Private Sub Form_Load()
      With MSFlexGrid1
        .FocusRect = flexFocusNone
        .HighLight = flexHighlightAlways
        .SelectionMode = flexSelectionByRow
      End With
    End Sub
   
    Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
      If Shift And vbShiftMask = vbShiftMask Then
        blnShift = True
      End If
    End Sub
   
    Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)
      If KeyCode = vbKeyShift Then
        blnShift = False
      End If
    End Sub
   
    Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
      With MSFlexGrid1
        If .MouseRow < .FixedRows Then
          If .MouseCol < .FixedCols Then
            .Row = .FixedRows
            .ColSel = .Cols - 1
          End If
        Else
          .Row = .MouseRow
          .ColSel = .Cols - 1
        End If
        If Button = vbLeftButton Then
          blnMouseDown = True
        End If
      End With
    End Sub
   
    Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
      With MSFlexGrid1
        If blnMouseDown Then
          If .Row = .MouseRow Then Exit Sub
          If .MouseRow < .FixedRows Then
            If .Row = .FixedRows Then Exit Sub
            .Row = .FixedRows
          Else
            .Row = .MouseRow
          End If
          .ColSel = .Cols - 1
        End If
      End With
    End Sub
   
    Private Sub MSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
      If Button = vbLeftButton Then
        blnMouseDown = False
      End If
    End Sub
   
    Private Sub MSFlexGrid1_SelChange()
      Static blnFlg As Boolean
   
      If Not blnFlg Then
        blnFlg = True
        If blnShift Then
          With MSFlexGrid1
            .Row = .RowSel
            .ColSel = .Cols - 1
          End With
        End If
        blnFlg = False
      End If
    End Sub
   
No.0653 Re:フレキシブルグリッド複数選択不可  投稿者:ゆう(U) [99/8/20(金)2:38分]

  念のため・・・

  Private Sub Form_Load()
  With MSFlexGrid1
  .FocusRect = flexFocusNone
  .HighLight = flexHighlightAlways
  .SelectionMode = flexSelectionByRow
  .ColSel = .Cols - 1
  End With
  End Sub

  と、した方が良いみたいですね。
No.0734 MSFlex Gridについて  投稿者:Mika [99/10/04(月)9:32分]
  MSFlex Gridについて教えて下さい。
  表を作るにあたって、セルの結合や、
  行,列単位での罫線の設定がしたいのですが、
  MSFlex Gridではできないのでしょうか?
  可変部と、固定部での罫線の設定は可能なようですが、
  それ以上の細かい設定ができません。
  教えてください。
No.0776 Flexgridコントロールについて質問があります 投稿者:よしくん [99/10/23(土)11:08分]
  どうもはじめまして。m(__)m
  MsflexgridコントロールとComboBoxコントロールを使用したときの場合に質問があります。
  まず、環境はWindows98(セカンドエディション)+VB6(SP3)+IME98の状態です。
  (これから書く現象はSP3が入っていなくてもなります。)

  Excelのワークシートと同じような物を作っております。
  MsflexgridコントロールのKeydownイベントが起きるとコンボボックス
  のVisible=Trueにしてコンボボックス.Setfocusをします。
  そして、テキスト入力はコンボボックス上で処理をします。
  この時ですが、FEPがOFFの状態はそのままコンボボックス上で
  キー入力ができますが、FEPON状態でコンボボックスのvisibleを
  Trueにし、フォーカスを移動すると、キー入力の表示がされません。
  フォーカスを移動しなければフローティングウィンドウが出て入力状態が
  できますが・・・・。できればこのようなことはしたくあり
  ません。フォーカスが移動して入力が確定された後のFEPONでの
  入力はコンボボックス上で行えます。
  誰か、回避する方法をお知りの方はお返事お願い致します。
  尚、この現象はWin98のセカンドエディションで出ました。製品版
  の初期のWin98では起きません。

  長々、書いてすみませんでした m(__)m
No.0791 MSFlexGridのデータ入力時のマスク利用  投稿者:あん [99/11/03(水)22:22分]
  はじめまして。
  逆引きヘルプのMSFlexGridのデータ入力を参考にさせて戴いてタイムカード入力を作っています。
  時間の入力に定型入力をしたいのですが、テキストボックスの代わりにマスクエディットボックスを
利用すると単に置き換えているだけのためかエラーがでます。
マスクエディットボックスで、グリッドに入力する方法はあるのでしょうか。
No.1101 MSHFlexGridで日付のフォーマットがしたい  投稿者:hiro [00/4/27(木)10:27分]
  MSHFlexGridで日付のフォーマットがしたいです
  データベースにADO経由で接続してSet MSHFlexGrid1=rsで直結しています
  現在のままだと2000/04/24が4/24/00という表記に変わってしまい大変困っています
  どうかお願いします
No.1107 RE:MSHFlexGridで日付のフォーマットがしたい  投稿者:まさやん [00/5/02(火)17:14分]
  hiroさんへ
  どのようなデータベースを使用しているのか、わかりませんが
  Oracleを使用した例でいいます。
  select句で、 select * from ... を使用するのではなくて、
   FStrSQL = "SELECT "
       . 
       . 
       . 
   FStrSQL = FStrSQL & "DECODE(DECODE(Tb.hiduke,Null,0,Tb.hiduke),0,' '," & _
   "TO_CHAR(Tb.hiduke,'YYYY/MM/DD')) hiduke "
       . 
       . 
       . 
   FStrSQL = FStrSQL & "FROM "
  FStrSQL = FStrSQL & "M_TRANS_TBL Tb"
  のようにしたらどうでしょうか.

  要は、受け取る結果の項目を、Selectの段階で希望の編集にしてしまうことです。
  以下に簡単な解説を書いてみます。
  DECODE(Tb.hiduke,Null,0,Tb.hiduke)...> hidukeがNullのとき、0として、以外(正常な日付値)
   のときは、そのままの値とします。

    @                  DECODEとは、IIF もしくは、If...Else...Then
   のようなもの。

  上記の式の結果を仮にAとします。それをさらにDECODEをかけます。

  DECODE(A,0,' ',TO_CHAR(Tb.hiduke,'YYYY/MM/DD'))

   ...> Aが、0 の場合、' '(空白)にして、以外は
その日付項目を、希望の編集にして取り出します。

  TO_CHAR(Tb.hiduke,'YYYY/MM/DD')......> この場合のTO_CHARは、Format文のようなもの。

  以上です。

  但し、使用するデータベースによって、SQLで使用できる関数(DECODE,TO_CHAR等)が
  異なりますので、そのへんはDBに合わせて解説書等を参考にしてください。
No.1435 MSFlexGrd  投稿者:のらなこい [00/9/04(月)12:43分]
  今日、初めてここに来ました。
  今手掛けているシステムで、今回初めてMSFlexGrdを使っていますが、
  便利なのか不便なのか半信半疑でやってます。
  ここの使用方法を見てみて、(サンプルコード)、なかなか参考になります。
  グリッド内でのソート方法などは、今まで、SQL文でレコードセットを作成しては、
  グリッドに取り込んでいたので、かなり、ステップと汎用性が良くなると思います。
  そこで、ちょっと質問なんですが、
  番号=1-1,1-2,2-1,・・・100-1,101-1
  と、言う感じで番号を取得した場合、その番号の昇順に並べ替えると100-1が先頭に
  きてしまいます。こういったことは、良くあることだと思うのですが、
  他の方は、どのように処理しているのでしょうか_?
  よろしく、お願いします。
No.1438 RE:MSFlexGrd  投稿者:花ちゃん [00/9/04(月)17:15分]
  001-001 001-002 002-001 010-001 100-001 のように頭に0をいれてみるとか
  Option Compare Text を入れてみるとかされたらいかがですか?
No.1458 フレキシブルグリッド  投稿者:グリッド嫌い [00/9/07(木)14:01分]
  はじめまして。
  今フレキシブルグリッドを使って、PGを作り始めたのですが、
  使い方がいまいち分からなくて困っています。
  サンプルを参考にさせていただいていますが、
  テキストボックスになぜか日本語が入力できません。(;;)
  プロパティに問題はないのですが・・・
  どなたか助けてください。
No.1460 RE:フレキシブルグリッド  投稿者:花ちゃん [00/9/07(木)17:04分]
  もう少し状況を詳しく書くなり ソースをUPするなり
  して頂かないと判断できないのでは、プロパティは問題ないとの事ですが?どう問題ないのか?
  テキストボックス内では日本語が表示するのですか?IMEの設定は??
No.1750 MSFlexGridの入力キーについて  投稿者:People [00/12/22(金)7:59分]
  花ちゃんの”MSFlexGrid関係のセルに直接データを入力する(エクセルのように)”を利用させて頂いてます。
  そこで、値の入ったセルをDeleteキーで削除したいのですが、Deleteキーは認識してくれません。
  また、BackSpaceキーではOKなのですけど..MSFlexGrid自体で使えるキーが決まっているのでしょうか?
  できれば、Deleteキーで操作したいのですが..教えて下さい。
No.1751 Re:MSFlexGridの入力キーについて    投稿者:Soya [00/12/22(金)9:15分]
  「花ちゃんの”MSFlexGrid関係のセルに直接データを入力する」に
  対応した話しかどうかはわかりませんが
  KeyDownイベントで取れます。
  例:
  Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
   Case vbKeyDelete
   Debug.Print "DeleteKey", Hex(KeyCode)
   End Select
  End Sub
No.2606 MsflexGridソート時の変数のソートついて  投稿者:ちずちず [01/8/09(木)10:17分]
  おはようございます。大変困っています(><)。助けてください!!
  MsflexGridでソートが行われた時、各行が変数でもっている情報っていうのは
  グリッド上データがソートされて移動しても移動しませんよね?

  <現状>
  (グリッド情報) (変数情報)             (グリッド情報)  (変数情報)
     名前     パスワード               名前       パスワード
     まゆみ    12345  名前の昇順でソート    あいこ      12345
     あいこ    AIKO       →        さなえ      AIKO    
     さなえ    98765               まゆみ      98765
                                ※パスワードが各名前に対応してない!!(>*<)

  それをグリッドがソートされたと同時に変数の情報も一緒に移動させることって可能なんでしょうか?

  <希望>
  (グリッド情報) (変数情報)             (グリッド情報)  (変数情報)
     名前     パスワード               名前       パスワード
     まゆみ    12345  名前の昇順でソート    あいこ      AIKO
     あいこ    AIKO       →        さなえ      98765
     さなえ    98765               まゆみ      12345
                                ※パスワードが各名前に対応してる!!(^0^)
                                  
  ちなみに、グリッドをレングス0の状態で作って変数の情報をもたせるのは設計上不可なためできません。
  (私の中では一番手っ取り早くて処理速度の問題でもそれがベストだと思うんですが・・・。)

  本当に困っています。何かいい方法があったら教えてください。
  よろしくお願いします。
No.2608 RE:MsflexGridソート時の変数のソートついて  投稿者:MIZO [01/8/09(木)15:07分]
  恐らくグリッド情報と変数情報というのは全く別の物だと思いますよ>花ちゃん
  パスワードは配列変数か何かで持っているのでは?
  まともにやろうとしたら独自のソートプログラムを書かねばなりませんが・・・。

  一番簡単なのはフレックスグリッドを非表示(Visible=False)でもう一つ置くことです。
  非表示のフレックスグリッド(以下、裏グリッド)には、表示するフレックスグリッド(以下、表グリッド)の
  データに加えパスワードを書いておき、表グリッドのソートに合わせ裏グリッドもソートします。
  パスワードを参照する時は裏グリッドから取得します。

  >グリッドをレングス0の状態で作って変数の情報をもたせるのは設計上不可
  というのが列幅を広げた時に見えてしまうから・・・という理由だとすれば
  こんなやり方もOKかと。非表示に設定してあれば見えませんから。
No.2740 MSFlexGridで・・・  投稿者:china [01/9/11(火)11:39分]
  はじめまして。こんにちは。
  困ったときは、いつも参考にさせていただいています。

  早速ですが、現在MSFlexGridを使って、通信で受信したデータの履歴を表示するような
  プログラムを作成しています。

  ・・・で、スクロール機能を設けようと思い、参考にさせてもらったのですが、
  矢印キーだけ、うまくKeyDownイベントを取得することができないのです。
  あれ?と思って、KeyDownイベントを確認するように簡単なプログラムを作ったら、
  今度は取得できました。
  ちなみに、このプログラムでは、Escでアプリケーション終了、Spaceで受信データの削除をするように
  なっています。

  どうしてでしょうか???
No.2742 Re:MSFlexGridで・・・  投稿者:ゆう(U) [01/9/11(火)13:41分]
  ●半角カナの使用は止めたほうがいいです
  > 早速ですが、現在MSFlexGridを使って、通信で受信したデータの履歴を表示するような
  > プログラムを作成しています。
  > ・・・で、スクロール機能を設けようと思い、参考にさせてもらったのですが、
  どのコントロールですか?
  「MSFlexGrid コントロール」なら、カレントセルが表示領域外でも
  矢印キーでスクロールして表示すると思いますが?
  ※スクロールバーもあるのでMouseでも操作可能ですし・・・
   行単位の履歴であれば、選択モードは"Row"アクティブセルは"None"
   にしておけば
  > 矢印キーだけ、うまくKeyDownイベントを取得することができないのです。
  フォーカスが「MSFlexGrid コントロール」にあるときは、スクロール
  制御の為矢印キーのキー操作イベントは発生しません。
  > あれ?と思って、KeyDownイベントを確認するように簡単なプログラムを作ったら、
  > 今度は取得できました。
  何のコントロールでの話ですか?
  特定のコントロール以外「矢印キー」のキー操作イベントは
  発生しないはずです。
  ※コマンドボタンやチェックボックス等では不発生
  Tabキー同様、コントロールのフォーカス変更に使用されて
  いますから。
  ※Tabキーは全てのTabStopをFalseにする事で、イベントを
   発生させられますが・・・
  「MSFlexGrid コントロール」を表示だけで使用し、矢印キー
  ですぐにスクロール動作をさせたいのであれば・・・
  ※Mouse操作は出来なくなりますが
  「PictureBox コントロール」をコンテナーとして、グリッドは
  常にEnabled=Falseで管理してはいかが?
  このコントロールでなら、矢印キーのイベントを取得できます。
  ※矢印キーにあわせて先頭表示行等を変更・・・って感じ
No.2791 MSFlexGrid の行数制限  投稿者:おーちゃん [01/9/19(水)16:18分]
  お世話になります。
  MSFlexGrid には行数制限というものがあるのでしょうか?
  列数37で、次々に行を増やしながら書き込むプログラムを
  つくっているのですが、「メモリを書き込むことが出来ませんでした」
  というエラーメッセージがでてしまい、9457行目で止まってしまいます。
  どなたかこのような経験がおありの方、もしくはご存知の方のお返事お待ちしております。
No.2793 Re:MSFlexGrid の行数制限  投稿者:ゆう(U) [01/9/19(水)19:20分]
  > MSFlexGrid には行数制限というものがあるのでしょうか?
  > 列数37で、次々に行を増やしながら書き込むプログラムを
  > つくっているのですが、「メモリを書き込むことが出来ませんでした」
  > というエラーメッセージがでてしまい、9457行目で止まってしまいます。
  「Cols、Rows プロパティ」
  のヘルプを読んでみましょう・・・

  『行および列の最小値は 0 です。最大値は、コンピューター上で
   使用できるメモリ量によって制限されます。』

  とあります。
No.3066 MSFlexGrid コピーあんど貼り付け方法  投稿者:ちゃぶ [01/11/05(月)14:19分]
  こんにちは。
  MSFlexGridにデータが行11列11(固定列行各1)あるとします。
  そのMSFlexGridの任意の範囲(例えば行2列2:行4列4)データを
  Excelのように一気に"コピーあんど貼り付け"する方法をどなたか知りませんか?

  実際に自分が行いたいのは
  MSFlexGridの任意の範囲(使用者がマウスで範囲指定)のデータを
  Excelのシートにそのデータを貼り付けたい!!
  なのですが、どうしていいかわかりません。

  任意に指定された列行の始点と列行の終点を求めて、
  (そもそも任意の範囲の座標は求められるんですか?)
  MSFlexGridのセル(のようにみせている)ひとつひとつを変数に入れて、
  その変数でExcelに貼り付ける?ようなやり方ですか?

  お願いします。
  どなたか助けてください。
No.3067 RE:MSFlexGrid コピーあんど貼り付け方法  投稿者:花ちゃん [01/11/05(月)14:27分]
  ここのHPの [MSFlexGrid 関係]の [複数の任意のデータを任意の位置に貼付ける]を
  参考にして下さい。
No.3476 MSFlexGridなんですが・・・。  投稿者:ジュンイチロウ [01/12/20(木)11:37分]
  MSFlexGridのセル内で改行をすることは
  できるのでしょうか?
  よろしくお願いします。
No.3478 RE:MSFlexGridなんですが・・・。  投稿者:MIZO [01/12/20(木)13:34分]
  WordWrapプロパティをTrueにして、表示したい文字列を
  vbCrLfかvbLfで区切れば表示できます。
No.3675 MSFlexGridで罫線  投稿者:じろう [02/1/19(土)15:09分]
  はじめまして,じろうと申します。
  MSFlexGridでわからないことがあるので,
  質問させてください。
  MSFlexGridでExcelのような表を作成しています。
  その際,行・列単位で罫線を引きたいまたは
  線の幅を広くしたいと思っています。
  MSDNのヘルプやこのHPの逆引きヘルプ一覧,過去ログ等で
  調べたのですが,どのようにすればいいのか
  わかりません。MSFlexGridでは対応できないのでしょうか?
  ぜひ教えて下さい。
No.3685 強調表示の設定について  投稿者:ボーズ [02/1/21(月)11:51分]
  こんにちわ。
  MsFlexGridを使っているのですが
  セルを選択しても強調表示されません。
  基本的な設定は下記のとおりです
   .HighLight = flexHighlightAlways
   .SelectionMode = flexSelectionFree
  セル単体で選択可能にしています。
  BackColorSelも正しく設定してあるのですが
  セルは選択されますが色が付きません。
  他に設定がありましたら教えていただけますでしょうか?
  おねがいします。
No.3689 RE:強調表示の設定について  投稿者:花ちゃん [02/1/21(月)15:21分]
  基本的事と思われる場合は 左のフレームの MSFlexGrid関係 や 逆引きヘルプ一覧で
  調べて下さい。 ある程度自分で判る範囲は自分で調べた方が身につきますよ
  とりあえず下記のコードを試して下さい。それでも強調表示されないなら、ここのサンプルとどこが
  違うか調べて見て下さい。

   .FocusRect = flexFocusNone
  .HighLight = flexHighlightAlways
No.3691 RE:RE:強調表示の設定について   投稿者:ボーズ [02/1/21(月)16:27分]
  すみません。
  調べたところMergeCellsプロパティ設定していまうと
  MSFlexGridの強調表示が強制解除してしまうらしい
  です。ありがとうございました
No.3702 フレックスグリッドの色の反転  投稿者:なみ [02/1/22(火)13:40分]
  久しぶりの投稿をします。フレックスグリッドについて質問があります。
  選択した行の色を反転して行間追加を行います。そのあとに反転した色を消したいと思っています。
  現在 .HighLight = flexHighlightAlwaysで選択した行の色を反転しています。
  こうすることでフォーカスがテキスト部分などに遷移しても色の反転は消えなくなりました。 
  しかし行間追加を完了したあとには、色の反転を消したいと思っています。
  どうしたらよいのでしょうか?
No.3704 RE:フレックスグリッドの色の反転  投稿者:花ちゃん [02/1/22(火)15:09分]
  RE:強調表示の設定について  投稿者:花ちゃん [02/1/21(月)15:21分]
  を参考にして見て下さい。
No.3706 説明不足ですいません。  投稿者:なみ [02/1/22(火)15:23分]
  花ちゃん様ありがとうございます。私の説明不足ですいません。
  フレックスグリッドでの強調表示の仕方は花ちゃん様のサンプルソースを参考にさせて
  いただきました。
  私が知りたいのは、強調表示表示を初期設定時は消す方法を知りたかったのです。
  リストボックスだとリストインデックスをー1にすると強調表示は消えると思います。
  そのようなことはフレックスグリッドでも可能でしょうか?
  本当に私の説明不足で申し訳ございません。
No.3707 RE:フレックスグリッドの色の反転  投稿者:花ちゃん [02/1/22(火)18:04分]
  HighLight = flexHighlightNever これで消えませんか

  flexHighlightNever    0 選択されたセルを強調表示しません。
  flexHighlightAlways   1 選択されたセルを常に強調表示します。
  flexHighlightWithFocus 2 コントロールがフォーカスを持ったときに選択されたセルを強調表示
No.3856 MSFlexGrid→csvファイル データ追加・削除   投稿者:Weed [02/2/15(金)10:54分]
  テキストファイルを読込、表示、保管する(No.2) を参考にプログラムを組んだのですが、
  新規レコードの追加方法と、レコード削除の方法がわかりません。
  いろいろ検索して探したのですが、良い例が見つからず行き詰まっています。
  誰か教えて頂けないでしょうか?
No.3857 RE:MSFlexGrid→csvファイル データ追加・削除   投稿者:NAO★ [02/2/15(金)11:30分]
  同じサンプルの中の行の挿入と削除をご覧下さい 
  http://www.bcap.co.jp/hanafusa/VBdengon/vbdengon.htm
No.3876 MSFlexGrid Row Setfocus   投稿者:weed [02/2/18(月)11:10分]
  質問
  1.MSFLEXGRIDで、ROW1行を選択(クリック:COLの列は何処でも良い)した時、そのROW全て
   (選択した行全体)を反転させるにはどうしたら良いですか?
   @ROWの1行を選択する(クリック)とその行の番号を取得するロジックはできています。
  2.MSFLEXGRIDで、他のイベント終了後等に、任意のROW1行にSetfocusする
   (その時 1.のイメージも)にはどうしたら良いですか?
   @またSetfocus自に1.の@をする方法を教えて下さい。
  よろしくお願いします。
No.3877 RE:MSFlexGrid Row Setfocus  投稿者:花ちゃん [02/2/18(月)17:23分]
  過去のログ No.3783 や ここのHPのMSFlexGrid関係を見て頂ければ出来るかと思います
No.3928 MSFlexGridのセルに直接データを入力について  投稿者:Guide [02/2/25(月)16:33分]
  質問です。
  MSFlexGridのセルに直接データを入力するのサンプルについてですが、
  グリッドがSSTABの中のFrameに貼り付けてあります。
  セルの位置にテキストボックスを表示する処理の時、TopとLeftの位置が合わなくなってしまいます。
  位置を合わせるにはどうしたら良いでしょうか?
No.3929 RE:MSFlexGridのセルに直接データを入力について 投稿者:花ちゃん [02/2/25(月)17:28分]
  位置がずれる範囲には規則性があると思うのですが、たとえば右方向にある寸法だけずれるとか
  それを考えれば、どうすればいいかが解ると思いますが。
  Frame からの MSFlexGrid の表示位置分をプラスするとか?
No.3971 MSFlexGridでComboBoxで入力  投稿者:宮田 [02/2/28(木)22:56分]
  MSFlexGridで入力をするとき、ComboBoxで選択入力できないでしょうか
No.3972 RE:MSFlexGridでComboBoxで入力    投稿者:花ちゃん [02/2/28(木)23:29分]
  できるか?、できないか?、質問される前に試した方が早いですよ
No.4022 MSFlexGridセルのマージ  投稿者:VB初心者 [02/3/07(木)0:45分]
  色々やったつもりなんですけど下記のことができなくて困っています。
  やり方をご存知でしたら教えていただきたいのです。
  よろしくお願いします。
  MSFlexGridセルのマージを下のようにしたいのですが、余計なところまでマージされてしまったり、
  マージされなかったりなってしまいます。
  最終的にマージしたあとにこのようになるやり方を教えてください。
  −−−−−−−−−−−−−−−
  |  | | | c | | | ←ここは固定行
  |No|a|b|−−−|d|e|
  |  | | |1|2| | | ←ここは固定行(ここは上の行とマージしたい)
  −−−−−−−−−−−−−−−
  |1| | | | | | | ←ここは固定行ではない(ここはマージしたくない)
  −−−−−−−−−−−−−−−
  |2| | | | | | | ←ここは固定行ではない(ここはマージしたくない)
  −−−−−−−−−−−−−−−

  他力本願で申し訳ありませんがよろしくお願いします。
No.4023 Re:MSFlexGridセルのマージ  投稿者:ゆう(U) [02/3/07(木)9:46分]
  ┬─────┐
  │          │
  ├──┬──┤
  │    │    │
  ┼──┼──┤
  こんな感じが最後にあるならプロパティの設定で簡単に
  実現可能です。
  
  ┬─────┬─
  │          │
  ├──┬──┤
  │    │    │
  ┼──┼──┼─
  さらに続きがある場合上下のセルのマージには失敗します、
  プロパティだけでは回避不可能で、こうしたくとも・・・
  
  ┬─────┬─
  │          │
  ├──┬──┼─
  │    │    │
  ┼──┼──┼─
  こんな感じになってしまいます。


  なので、続きの失敗したマージ部分をピクチャーボックスで
  覆ってしまい、ピクチャーボックスにマージ用の絵を表示
  するとOKでしょう。

  サンプル)
  MSFlexGrid コントロール1個(MSFlexGrid1)
  ピクチャーボックスコントロール1個(Picture1)
  Private Declare Function SetParent Lib "user32" _
   (ByVal hWndChild As Long, _
   ByVal hWndNewParent As Long) As Long
  Private Const COL_MASK = 10
  Private Const COL_CAPTION = "体育"
  Private Sub Form_Click()
  Dim lRow As Long, lCol As Long

  With MSFlexGrid1
   .Rows = 20 '行の総数
   .Cols = 11 '列の総数
   .FixedRows = 2 '固定行の数
   .FixedCols = 1 '固定列の数
   .Row = 0
   .ColWidth(-1) = 700 '列幅設定
   .RowHeight(-1) = 285 '行高さ

  '固定行1行目
   .TextMatrix(0, 0) = " "
   .TextMatrix(0, 1) = "国語"
   .TextMatrix(0, 2) = "算数"
   .TextMatrix(0, 3) = "理科"
   .TextMatrix(0, 4) = "理科"
   .TextMatrix(0, 5) = "理科"
   .TextMatrix(0, 6) = "社会"
   .TextMatrix(0, 7) = "英語"
   .TextMatrix(0, 8) = "英語"
   .TextMatrix(0, 9) = "英語"
   .TextMatrix(0, 10) = "体育"
   .Row = 0
   For lCol = 0 To .Cols - 1
   .Col = lCol
   .CellAlignment = flexAlignCenterCenter
  Next
   '固定行2行目
   .TextMatrix(1, 0) = " "
   .TextMatrix(1, 1) = "国語"
   .TextMatrix(1, 2) = "算数"
   .TextMatrix(1, 3) = "a"
   .TextMatrix(1, 4) = "b"
   .TextMatrix(1, 5) = "c"
   .TextMatrix(1, 6) = "社会"
   .TextMatrix(1, 7) = "a"
   .TextMatrix(1, 8) = "b"
   .TextMatrix(1, 9) = "c"
   .TextMatrix(1, 10) = "体育"
   .Row = 1
   For lCol = 0 To .Cols - 1
   .Col = lCol
   .CellAlignment = flexAlignCenterCenter
   Next
   .MergeRow(0) = True
   .MergeCol(0) = True
   .MergeCol(1) = True
   .MergeCol(2) = True
   .MergeCol(6) = True
   .MergeCol(10) = True
   .MergeCells = 2 'マージの指定

  'データ(マージされない事を確認用)
   For lRow = .FixedRows To .Rows - 1
   For lCol = .FixedCols To .Cols - 1
   .TextMatrix(lRow, lCol) = "ZZZ"
   Next
   Next
   .Refresh
   End With
   'ピクチャーボックスの初期設定
   Call iniHead
  End Sub

  '覆ったピクチャーボックスの移動
  Private Sub MSFlexGrid1_Scroll()
   With MSFlexGrid1
   Picture1.Visible = Not (.LeftCol > COL_MASK)
    Picture1.Move .ColPos(COL_MASK) + Screen.TwipsPerPixelX, _
   .RowPos(0) + Screen.TwipsPerPixelY
   End With
  End Sub

  '覆うピクチャーボックスの初期設定
  Private Sub iniHead()
  Dim sngTpP_X As Single
  Dim sngTpP_Y As Single
   Dim strCaption As String

   sngTpP_X = Screen.TwipsPerPixelX
  sngTpP_Y = Screen.TwipsPerPixelY

   'SetParentを使うと何かと後の操作が簡単なので・・・
   'SetParentを使わない場合かなり厄介な処理をする必要が出てきます
   SetParent Picture1.hWnd, MSFlexGrid1.hWnd
   With Picture1
   .AutoRedraw = True
   .BorderStyle = vbBSNone
   Set .Font = MSFlexGrid1.Font
   .BackColor = MSFlexGrid1.BackColorFixed
   .ForeColor = MSFlexGrid1.ForeColorFixed
   .Enabled = False
   .ScaleMode = vbTwips
   .ZOrder vbBringToFront
   With MSFlexGrid1
   Picture1.Move .ColPos(COL_MASK) + sngTpP_X, _
   .RowPos(0) + sngTpP_Y, _
   .ColWidth(COL_MASK) - sngTpP_X * 2, _
   .RowHeight(0) * 2 - sngTpP_Y * 2
  End With
   .CurrentX = (.ScaleWidth - .TextWidth(COL_CAPTION)) / 2
   .CurrentY = (.ScaleHeight - .TextHeight(COL_CAPTION)) / 2
   Picture1.Print COL_CAPTION
   End With
  End Sub

  ※国語・算数・理科までは問題なくお任せでマージできますが
   社会についてはお任せではマージされません、
   英語部分のマージ後の体育はマージされないのでコードで
   対応策をとることでマージされたように見えます。

   ピクチャーボックスはEnabled=Falseで各イベントを直下の
   コントロールへ透過しています(ヘッダークリック等対応)。

   セル幅変更等が必要な場合は自分で組み込んでみて下さい、
   かなり面倒と思いますが
No.4057 MSFlexGridの固定セル  投稿者:VB初心者 [02/3/11(月)0:10分]
  MSFlexGridの固定セル(スクロールバーでスクロールさせてもスクロールしないセル)に文字を入力したい
  のですが、文字の入力自体は可能だと思ってます。
  ただ、入力セルにカーソルを移動することができなくて困っています。
  カーソルを移動するときは固定を解除して、スクロールするときは固定にするようにするしか
  ないのでしょうか?
  変な使い方ばかり質問してすみません。よい方法をご教授ください。
No.4066 Re:MSFlexGridの固定セル  投稿者:ゆう(U) [02/3/12(火)13:48分]
  カレントセルを固定列のセルへ移動させたいのであれば、
  「Col、Row プロパティ」で移動は可能です。
  一度固定列・固定行の部分へ移動したら後はその中では
  矢印キーで移動できます。
  普通は固定列・固定行などのキャプションを変更するのは
  特殊なアクションが必要で通常セルと変更操作が異なる
  事は問題はないのでは?
  手っ取り早いのは「MouseCol、MouseRow プロパティ」と
  組み合わせるとか・・・
No.4153 MSFlexGridで・・・  投稿者:china [02/3/25(月)12:02分]
  いつもこのHPにはお世話になっています。
  このHPの<MSFlexGrid関係>の章の<セルに直接データを入力する>という章を勉強させてもらったの
  ですが、実際に作ってみたところ、セルに「全角ひらがな」モードでデータを入力すると、
  最後に打ち込んだ文字しかセルに表示されませんでした。
  どのように改善すれば、かな文字の入力ができるのでしょうか?教えてください。
  あと、→キーを押していくと列のスクロールができるのですが、Tab移動でフォーカスを移動する際は列の
  スクロールができません。この方法も教えてください。
No.4154 RE:MSFlexGridで  投稿者:花ちゃん [02/3/25(月)14:38分]
  スクロールの設定は下記のイベント行っております
  Private Sub EditKeyCode(MSFlexGrid As Control, _
   Edt As Control, KeyCode As Integer)
  それを下記のイベントでも行って下さい。
  Text2_GotFocus Text3_GotFocus
  漢字キーがONの状態では一度セルを編集状態(Enter・セルをダブルクリック)にしないと
  入力できません。

  以下を追加することで実現できます。
  Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  '漢字キーが押された状態での入力が出来ないので
    If KeyCode > 127 Or KeyCode = vbKeyF2 Then '漢字及び[F2]キーの場合
      Call MSFGEdit(MSFlexGrid1, Text1, vbKeySpace)  '空白を代入します。
    End If
  End Sub

   
No.4387 MSFlexGridの表示方法について。  投稿者:ゆうや [02/4/15(月)19:27分]
  こんにちは。分からない事があるので投稿させてもらいました。
  VB6.0 SP5を使っています。
  MSFlexGridコントロールを使っているのですが、数値だと右寄せ、文字だと左寄せになってしまいますよね。
  全部を右寄せ、左寄せ、中央揃えとかにしたいのですが、そんな事ってできるのでしょうか。
  ご存知の方、教えてください。宜しくお願いします。
No.4388 Re: MSFlexGridの表示方法について。  投稿者:K.J.K. [02/4/15(月)19:45分]
  CellAlignmentプロパティを調べましょう。
No.4465 MSFlexGridのセルのコピーについて。  投稿者:ゆうや [02/4/23(火)16:57分]
  こんにちは。分からない事があるので投稿してみました。
  MSFlexGridコントロールの升目に表示した文字をCtrl+Cキーでコピーしたいのですが、出来ません。
  あと、升目を選択して右クリックしても何もメニューが出てきません。
  この2つの出来ない事を可能にしたいのですが、なにか方法があるのでしょうか。
  因みに、MSFlexGridコントロール上でキーを押した時、0〜9、A〜Fキー以外を押された場合、
  Nullキーからスペースキー迄のAsciiコード受信時に、KeyAscii=0にしちゃっています。
  どなたかご存知の方、教えていただけないでしょうか。宜しくお願いします。


2002/05/04