以下は、私たちは、テキストファイルからデータを読み込むエクセルVBAでプログラムを見ていきます。このファイルには、私たちがExcelにインポートするいくつかの地理的座標が含まれています。

状況:

Read Data from Text File using Excel VBA

1.まず、テキストファイルをダウンロードして、「C:\テスト\」に追加

ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

2.私たちは、4つの変数を宣言します。 String型、String型、String型、Integer型のposLatのテキスト行のテキストののmyFile、およびInteger型のposLong。

Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer

3.私たちは、完全なパスとファイル名を変数のmyFileを初期化する必要があります。

myFile = "C:\test\geographical-coordinates.txt"

または標準の[開く]ダイアログボックスを表示し、(実際にファイルを開かずに)ファイルを選択するために、ApplicationオブジェクトのGetOpenFileNameのメソッドを使用します。

myFile = Application.GetOpenFilename()

注:我々は、入力としてエクセルVBAに何も与えないカッコ手段との間の空白部分。 Visual BasicエディターでGetOpenFileNameの上にカーソルを置き、引数のヘルプはF1をクリックします。

4.次のコード行を追加します。

Open myFile For Input As #1

注意:このステートメントは、ファイルを読み取ることができます。私たちは、コードの残りの部分の間に第1位としてファイルを参照することができます。

次のコード行を追加します。5.:

Do Until EOF(1)

Line Input #1, textline

text = text & textline

Loop

注:ファイル(EOF)が終了するまで、のExcel VBAファイルから単一の行を読み取り、テキスト行に割り当てます。我々は、すべての単一の行(参加)CONCATENATEに&演算子を使用して、変数テキストに保存します。

6.閉じるファイル。

Close #1

7.次に、我々は、可変テキストで緯度と経度の単語の位置を検索します。私たちは、InStr関数を使用します。

posLat = InStr(text, "latitude")

posLong = InStr(text, "longitude")

8.私たちは、変数のテキストから座標を抽出し、セルA1とセルA2に座標を書き込むためにこれらの位置およびMid関数を使用します。

Range("A1").Value = Mid(text, posLat + 10, 5)

Range("A2").Value = Mid(text, posLong + 11, 5)

9.テストプログラム。

結果:

Read Data from Text File Result