ランダムファイルに書き込む : Excel

Excel VBAでセルの内容をランダムファイルに書き込みます。
シーケンシャルファイルは先頭から順番に読み込み・書き込みする方式のものでしたが、ランダムファイルは指定した位置のレコードを読み書きできます。特定のデータのみを取り出すのは高速になります。

ファイルを開く構文 : Open ファイル名 For Random #ファイル番号 Len=一つのレコードの長さ(バイト数)
ランダムファイルの書き込むモード : Put #ファイル番号, レコード番号, 変数名
ファイルを閉じる構文 : Close #ファイル番号

Excel VBA Tips関連記事
テキストファイルへ書き込み
テキストファイルの読込み
シーケンシャルファイルに書き込む
シーケンシャルファイルを読み込む


Homeに戻る > Excel ファイル操作のTipsへ


Excel実行画面

エクセル ゴミ収集カレンダーです。
ランダム保存ボタンをクリックすると、1日から15日までの種類(もえるごみ・もえないごみ・ビン・ペットボトル)をランダムファイルに書き込みします。
エクセル ゴミ収集カレンダー

保存したランダムファイルをメモ帳で開きました。
日付は数値型で保存しています。テキスト型でなくバイナリ型で保存されているので文字化けして表示されています。
空白のセルは指定したバイト数のスペース文字になっています。
ランダムファイルを開く


Excel VBA実行コード

Option Explicit

Private Type Record
    tDate As Long
    tType As String * 15
End Type


'ランダムファイル保存ボタン
Private Sub CommandButton2_Click()
    Dim i As Long
    Dim s As String
    Dim MYREC As Record
    
    Open "C:\test\test-r.txt" For Random As #1 Len = Len(MYREC)
    For i = 7 To 21
        MYREC.tDate = Cells(i, 2)
        MYREC.tType = Cells(i, 3)
        Put #1, i - 6, MYREC
    Next
    Close #1
    MsgBox "保存しました"
End Sub


Homeに戻る > Excel ファイル操作のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved