Excel VBA kullanarak bir Metin Dosyasından Veri Okuma - Kolay Excel Makroları

İçindekiler

Aşağıda bir programa bakacağız Excel VBA'sı o bir metin dosyasından veri okur. Bu dosya, Excel'e aktarmak istediğimiz bazı coğrafi koordinatları içerir.

Durum:

1. Önce metin dosyasını indirin ve "C:\test\" klasörüne ekleyin.

Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:

2. Dört değişken tanımlıyoruz. String türünde myFile, String türünde metin, String türünde metin satırı, Integer türünde posLat ve Integer türünde posLong.

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

3. myFile değişkenini tam yol ve dosya adıyla başlatmamız gerekiyor.

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

veya

standart Aç iletişim kutusunu görüntülemek için Uygulama nesnesinin GetOpenFilename yöntemini kullanın ve dosyayı seçin (aslında dosyayı açmadan).

myFile = Application.GetOpenFilename()

Not: parantezler arasındaki boş kısım, Excel VBA'ya girdi olarak hiçbir şey vermediğimiz anlamına gelir. İmlecinizi Visual Basic Düzenleyicisi'nde GetOpenFilename üzerine getirin ve bağımsız değişkenlerle ilgili yardım için F1'e tıklayın.

4. Aşağıdaki kod satırını ekleyin:

Giriş için myFile'ı #1 Olarak Açın

Not: Bu ifade dosyanın okunmasına izin verir. Kodumuzun geri kalanında dosyaya #1 olarak başvurabiliriz.

5. Aşağıdaki kod satırlarını ekleyin:

EOF(1)'e Kadar Yapın
Satır Girişi #1, metin satırı
metin = metin ve metin satırı
Döngü

Not: Dosyanın sonuna kadar (EOF), Excel VBA dosyadan tek bir satır okur ve onu metin satırına atar. Tüm tek satırları birleştirmek (birleştirmek) ve değişken metinde saklamak için & operatörünü kullanırız.

6. Dosyayı kapatın.

#1'i kapat

7. Ardından, değişken metinde enlem ve boylam kelimelerinin konumunu ararız. Instr işlevini kullanıyoruz.

posLat = InStr(metin, "enlem")
posLong = InStr(metin, "boylam")

8. Değişken metinden koordinatları çıkarmak ve koordinatları A1 hücresine ve A2 hücresine yazmak için bu konumları ve Mid işlevini kullanırız.

Aralık("A1").Değer = Orta(metin, posLat + 10, 5)
Aralık("A2").Değer = Orta(metin, posUzun + 11, 5)

9. Programı test edin.

Sonuç:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave