VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/07/07(Mon) 18:41
投稿者tea
Eメール
URL
タイトルRe^2: MSFlexGridについての質問です。

> 参考にして頂いたならうまくいくはずですが!

花ちゃんさん、ご指導ありがとうございます。
また、こちらの知識不足なのにそちらのサンプルでうまく行か
ないと書いてしまって申し訳ありません。
以下のコードに書き換えてみましたが、今度は保存が出来たん
ですが、再度開いてみると「ファイルは既に開かれています。」
というエラーが出てMSFlexGrid2(0)の一部は表示されています
が、MSFlexGrid2(1)は保存されていないので表示されない状態
です。
長々とコードを書いてしまって申し訳ないんですが、
どうか教えてください。

Private Sub sFileSave_Name()

'データの名前を付けて保存処理'
Dim lngCountl As Long   'ループのカウンタ'

Dim name As String   '名前'
Dim Shot As String    'シュート回数'
Dim ThreePShot As String  '3ポイントシュート成功回数'
Dim TwoPShot As String   '2ポイントシュート成功回数'
Dim FreeThrow As String   'フリースロー成功回数'
Dim Soutokuten As String   '総得点'
Dim Rebound As String   'リバウンド獲得回数'
Dim Assist As String   'アシスト成功回数'
Dim Steel As String   'スティール成功回数'
Dim BlockShot As String   'ブロックショット成功回数'
Dim Foul As String   'ファウル回数'
'ファイルナンバー変数を宣言します。'
Dim intFileNoA As Integer   'ファイルナンバーA'
Dim intFileNoB As Integer   'ファイルナンバーB'
Dim intFileNoC As Integer   'ファイルナンバーC'
Dim AFilePath As Integer
Dim BFilePath As Integer
Dim CFilePath As Integer

    'キャンセルボタンが押されたらエラーとして通知する'
    CommonDialog1.CancelError = True
    
    'エラーの場合の飛び先指定'
    On Error GoTo exit_error
    
    'ダイアログボックスの形を決める'
    CommonDialog1.Filter = "シート (*.csv)|*.csv"
    CommonDialog1.Flags = cdlOFNExplorer Or cdlOFNLongNames Or _
        cdlOFNNoChangeDir Or cdlOFNOverwritePrompt
        
    '「名前を付けて保存」ダイアログボックスを表示'
    CommonDialog1.ShowSave
    
    'ファイル名をグローバル変数にセット'
    file_name = CommonDialog1.FileName
    
    intFileNoA = FreeFile
    Open file_name For Output As #intFileNoA
    
    With MSFlexGrid2(0)
        '一旦非表示にする'
        .Visible = False
        '現在の状態を再読み込み'
        For lngCountl = 1 To .Rows - 1
            .Row = lngCountl
            .Col = 1
            name = .Text
            .Col = 2
            Shot = .Text
            .Col = 3
            ThreePShot = .Text
            .Col = 4
            TwoPShot = .Text
            .Col = 5
            FreeThrow = .Text
            .Col = 6
            Soutokuten = .Text
            .Col = 7
            Rebound = .Text
            .Col = 8
            Assist = .Text
            .Col = 9
            Steel = .Text
            .Col = 10
            BlockShot = .Text
            .Col = 11
            Foul = .Text
            
            Write #intFileNoA, name, Shot, ThreePShot, TwoPShot, FreeThrow, _
                        Soutokuten, Rebound, Assist, Steel, Foul
        
        Next lngCountl
        
        'カレントセルを反転表示に戻す'
        .Visible = True
        .Row = 1
        .Col = 1
        .TopRow = 1
        .SetFocus
        
    End With
    
    intFileNoB = FreeFile
    Open file_name For Output As #intFileNoB
    
    With MSFlexGrid2(1)
        '一旦非表示にする'
        .Visible = False
        '現在の状態を再読み込み'
        For lngCountl = 1 To .Rows - 1
            .Row = lngCountl
            .Col = 1
            name = .Text
            .Col = 2
            Shot = .Text
            .Col = 3
            ThreePShot = .Text
            .Col = 4
            TwoPShot = .Text
            .Col = 5
            FreeThrow = .Text
            .Col = 6
            Soutokuten = .Text
            .Col = 7
            Rebound = .Text
            .Col = 8
            Assist = .Text
            .Col = 9
            Steel = .Text
            .Col = 10
            BlockShot = .Text
            .Col = 11
            Foul = .Text
            
            Write #intFileNoB, name, Shot, ThreePShot, TwoPShot, FreeThrow, _
                        Soutokuten, Rebound, Assist, Steel, Foul
        
        Next lngCountl
        
        AFilePath = App.Path & "\AFile.CSV" & " + "
        BFilePath = App.Path & "\BFile.CSV" & " "   '半角スペースを付加
        CFilePath = App.Path & "\CFile.CSV"
        Shell "command.com /c copy " & AFilePath & BFilePath & CFilePath, 0
        
        'カレントセルを反転表示に戻す'
        .Visible = True
        .Row = 1
        .Col = 1
        .TopRow = 1
        .SetFocus
        
    End With

'ラベル:終了処理'
exit_syori:

    'フォームに名前を付ける'
    frmGameStats.Caption = file_name
    
    Exit Sub
    
'エラー処理'
exit_error:

    'メッセージボックスを表示'
    MsgBox Err.Description
    
    Resume exit_syori
    
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -