TARU-NET.JP

ExcelVBA ClassModules
Text 動作確認: Excel 2000-2003 更新日: 2013/05/17 Reference Download

配列感覚でテキストファイルを編集可能にするクラスモジュールです。
このクラスモジュールはファイル操作関数を意識することなく、ファイルの先頭に文字列を追加したり、任意の行の値を変更する事が可能です。

主な機能:
・ファイルの先頭に文字列を挿入する。
・ファイルの先頭、末尾の文字列削除および取得。
・任意の行の値を変更する。

これから付けたい機能:
・指定行の削除&挿入。ソートや検索、あと逆順処理。
Text クラスモジュール
作成日:2013/05/10
更新日:2013/05/17





NAME

            Text -- Text クラスモジュール

		



SYNOPSIS

            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 1000
                    Text.Push (i)
                Next i

                Debug.Print Text.Size
                Debug.Print Text.Back
            End Sub

		



DESCRIPTION



AN OUTLINE -- 概要


配列感覚でテキストファイルを編集可能にするクラスモジュールです。
このクラスモジュールはファイル操作関数を意識することなく、ファイルの先頭に文字列を追加したり、任意の行の値を変更する事が可能です。

主な機能:
・ファイルの先頭に文字列を挿入する。
・ファイルの先頭、末尾の文字列削除および取得。
・任意の行の値を変更する。

これから付けたい機能:
・ソートや検索、あと逆順処理。


PREPARATION -- 準備


[DOWNLOAD]から、本ExcelBookをダウンロードします。
ダウンロードが完了したらマクロを有効にして開いてください。そこにサンプルモジュールと本クラスモジュールが含まれています。

注:クラスをエクスポート、インポートする事で別のExcelBookでも使用することが出来ます。


HOW TO USE -- 使用方法


最初に[Dim Text As New Text]を宣言し、オブジェクトを使用可能にします。
オブジェクトを[Dim Text]とした場合の記述方法は以下の通りです。
            Dim Text As New Text
		
○対象のテキストフィルを設定「Text.FilePath」プロパティ
対象とするテキストフィルを指定及び取得するには、「Text.FilePath」プロパティを使用します。
注:指定したファイルがない場合は空のテキストファイルを自動で作成します。
            Dim Text As New Text
            Text.FilePath = "C:\hoge.txt"
		
○テキストファイルの末尾に値を追加「Text.Push/Text.Add」メソッド
テキストファイルの末尾に値を追加するには、「Text.Push/Text.Add」メソッドを使用します。
Text.Push(値)と入力し、テキストファイルの末尾に値を追加します。
注:「Text.Push/Text.Add」メソッドは同じ動きをします。
            Text.Push(50)
		
○テキストファイル末尾の値を取得「Text.Back」メソッド
テキストファイル末尾の値を取得するには、「Text.Back」メソッドを使用します。
Text.Back()と入力し、戻り値は[String]型となります。
注:テキストファイルが空白の場合はエラーとなり、空白を返します。
            value = Text.Back()
		
○テキストファイル末尾の値を取得し、テキストファイルから値を削除「Text.Pop」メソッド
テキストファイル末尾の値を取得し、テキストファイルから値を削除するには、「Text.Pop」メソッドを使用します。
Text.Pop()と入力し、戻り値は[String]型となります。戻り値は省略可能。
注:テキストファイルが空白の場合はエラーとなり、空白を返します。
            value = Text.Pop()
		
○テキストファイルの先頭に値を追加「Text.Unshift」メソッド
テキストファイルの先頭に値を追加するには、「Text.Unshift」メソッドを使用します。
Text.Unshift(値)と入力し、配列の先頭に要素を追加します。
            Text.Unshift(50)
		
○テキストファイルの先頭値を取得「Text.Front」メソッド
テキストファイルの先頭値を取得するには、「Text.Front」メソッドを使用します。
Text.Front()と入力し、戻り値は[String]型となります。
注:テキストファイルが空白の場合はエラーとなり、空白を返します。
            value = Text.Front()
		
○テキストファイルの先頭値を取得し、テキストファイルから値を削除「Text.Shift」メソッド
テキストファイルの先頭値を取得し、テキストファイルから値を削除するには、「Text.Shift」メソッドを使用します。
Text.Shift()と入力し、戻り値は[String]型となります。戻り値は省略可能。
注:テキストファイルが空白の場合はエラーとなり、空白を返します。
            value = Text.Shift()
		
○テキストファイルの指定行値取得「Text.At」メソッド
テキストファイルの指定行値を取得するには、「Text.At」メソッドを使用します。
Text.At(3)と入力し、戻り値は[String]型となります。
注:テキストファイルが空白の場合はエラーとなり、空白を返します。
            value = Text.At(3)
		
○テキストファイルの指定行の値を変更「Text.Value」メソッド
テキストファイルの指定行の値を変更するには、「Text.Value」メソッドを使用します。
Text.Value(行) = 値と入力し、テキストファイルの指定行の値を変更します。
            Text.Value(5) = "a"
		
○テキストファイルの行数取得「Text.Size」メソッド
テキストファイルの行数を取得するには、「Text.Size」メソッドを使用します。
Text.Size()と入力し、戻り値は[Long]型となります。
            value = Text.Size()
		
○テキストファイル行数初期化「Text.ReSize」メソッド
テキストファイルの行数を初期化をするには、「Text.ReSize」メソッドを使用します。
Text.ReSize()と入力し、テキストファイルの行数を初期化します。
注:行数を指定するとその行数が入力されたテキストファイルが作成されます。
注:行数に「0」を指定した場合は空のテキストファイルが作成されます。
            Text.ReSize(10)
		
○テキストファイル行数拡張処理「Text.ReSizePreserve」メソッド
テキストファイルの内容を変更せずに行数を拡張するには、「Text.ReSizePreserve」メソッドを使用します。
Text.ReSizePreserve()と入力し、テキストファイルの行数を拡張します。
注:指定した行数が、ファイル行数より小さい場合は、指定行数以降のデータは削除されます。
            Text.ReSizePreserve(10)
		


EXAMPLE -- 使用例

例1:テキストファイルの末尾に値を追加し、最終行の値を表示する。
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 1000
                    Text.Push (i)
                Next i

                Debug.Print Text.Back
            End Sub
		
例2:テキストファイルの末尾に値を追加し、最終行の値を表示する。其の弐
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 1000
                    Text.Add (i)
                Next i

                Debug.Print Text.Back
            End Sub
		
例3:テキストファイルの先頭に値を追加し、最終行の値を表示する。
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 1000
                    Text.Unshift (i)
                Next i

                Debug.Print Text.Back
            End Sub
		
例4:テキストファイルの末尾に値を追加し、先頭から値を取り出し表示する。
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 1000
                    Text.Push (i)
                Next i

                For i = 1 To 10
                    Debug.Print Text.Shift
                Next
            End Sub
		
例5:テキストファイルの先頭から値を取り出し、末尾に値を追加する。
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 10
                    Text.Push (i)
                Next

                For i = 101 To 110
                    Debug.Print Text.Shift
                    Text.Push (i)
                Next
            End Sub
		
例6:テキストファイルを指定行数で初期化する。
            Sub Main()
                Dim Text As New Text

                Text.ReSize (50)
            End Sub
		
例7:テキストファイルを指定行数で拡張する。
            Sub Main()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 10
                    Text.Push (i)
                Next

                Text.ReSizePreserve (50)
            End Sub
		
例8:テキストファイルの指定行の値を変更する。
            Sub Test()
                Dim Text As New Text
                Dim i As Long

                Text.FilePath = "C:\hoge.txt"
                For i = 1 To 10
                    Text.Push (i)
                Next

                Text.Value (5) = "abc"
            End Sub
		



REFERENCE

Name Description Syntax



ATTENTION

・本クラスモジュールを利用した事によるいかなる損害も一切の責任を負いません。
・感想や要望、不具合などありましたら、作者までご連絡ください。



MEMO

本クラスモジュールの本文中に「NAME/VERSION/AUTHOR/COPYRIGHT」が記載されています。



CONTRIBUTION

寄付歓迎
本クラスモジュールはフリーですが、「このモジュールのおかげで、素晴らしいソフトが作れた」など、寄付をしていただける方がいましたら、作者宛までご一報ください。
なお受け付けている物は、お金(日本通貨円)、食料(酒/缶詰/お米など)となっております。



DOWNLOAD

<<---DOWNLOAD Text--->>



VERSION

Version:1.00 - Fri May 10, 2013
Version:1.01 - Fri May 17, 2013 | [FilePath]に指定したテキストファイルがない場合、空のテキストファイルを自動で作成するように変更。



AUTHOR

Syunzi Shimohata <webmaster@taru-net.jp> http://www.taru-net.jp/


COPYRIGHT

Copyright (C) 2013, Syunzi Shimohata. Japan. All Rights Reserved.