A 65 536 sornál hosszabb szövegfájlok nem importálhatók az Excel 97, az Excel 2000, az Excel 2002 és az Excel 2003 alkalmazásokba

A cikk fordítása A cikk fordítása
Cikk azonosítója: 120596 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

Összefoglaló

A Microsoft Excel 97 for Windows, a Microsoft Excel 2000, a Microsoft Excel 2002, és a Microsoft Office Excel 2003 alkalmazásokban a 65 536 sornál hosszabb szövegfájlok nem nyithatók meg teljes egészükben. Ezeket a fájlokat azért nem nyithatja meg, mert a Microsoft Excel e verzióiban a sorok maximálisan engedélyezett száma 65 536 sor. Amennyiben a megnyitott fájl ennél több adatot tartalmaz, a szövegfájl a 65 536. sornál elvágva jelenik meg, és a következőhöz hasonló hibaüzenet jelenik meg:
A fájl nem töltődött be teljesen.
Egy makró segítségével azonban a megnyitott fájlt automatikusan több munkalapra bonthatja szét.

Megjegyzések

Az Excel 97 verziónál korábbi Excel-verziókban a sorok maximálisan engedélyezett száma 16 384 sor.

Az Excel 2003 verziónál későbbi Excel-verziókban a sorok maximálisan engedélyezett száma 1 048 576 sor.

További információ

A Microsoft csak szemléltetési célból ad közre programozási példákat, és azokra – beleértve a forgalomba hozhatóságot és az adott célra való megfelelőséget is – sem törvényi, sem más garanciát nem vállal. A cikkben ismertetettek alkalmazásához jártasnak kell lenni a szemléltetésre szolgáló programozási nyelvben, valamint az eljárások létrehozására és a velük kapcsolatos hibakeresésre szolgáló eszközök használatában. A Microsoft támogatási szakemberei segíthetnek az egyes eljárások működésének megértésében. E szakemberek ugyanakkor funkcióbővítési célból nem módosítják a példákat, és nem készítenek az egyéni igényeknek megfelelő eljárásokat. Az alábbi példamakró bekéri a szövegfájl nevét, majd megnyitja a fájlt a memóriában. Amennyiben a sorok száma nagyobb, mint az Excel által a munkalapokra megadott 65 536 soros korlát, a makró több munkalapra bontja a fájlt. Ez a makró csak a szövegfájlként mentett fájlokat képes kezelni, a többi fájlformátumot nem. A makró adatbázisfájl-formátumokhoz nem használható.

Mivel makróról van szó, az így végzett megnyitás lényegesen lassabb lehet, mint a Fájl menü Megnyitás parancsa segítségével végzett megnyitás.
   'Az aposztróffal (') kezdődő sorok megjegyzések, magának a
   'a makrónak a futtatásához nem szükségesek.
				
   Sub NagyFajlImport()

      'Tömbváltozók
      Dim EredmStr As String
      Dim Fajlnev As String
      Dim Fajlszam As Integer
      Dim Szamlalo As Double
      'A fájl nevének bekérése a felhasználótól
      Fajlnev = InputBox("Kérjük, adja meg a szövegfájl nevét, pl. teszt.txt")
      'Annak ellenőrzése, hogy a bevitt szöveg értéke nem üres-e
      If Fajlnev = "" Then End
      'A következő elérhető fájl kezelési számának lekérése
      Fajlszam = FreeFile()
      'Szövegfájl megnyitása bevitelre
      Open Fajlnev For Input As #Fajlszam
      'Képernyő frissítésének kikapcsolása
      Application.ScreenUpdating = False
      'Egy új munkafüzet létrehozása, amelyben egyetlen munkalap található.
      Workbooks.Add template:=xlWorksheet
      'A számláló 1 értékűre állítása
      Szamlalo = 1
      'Hurok futtatása a fájl végének eléréséig
      Do While Seek(Fajlszam) <= LOF(Fajlszam)
         'Az importálódó sorok számának megjelenítése az állapotsoron
          Application.StatusBar = "Importált sor " & _
             Szamlalo & " ebből a szövegfájlból: " & Fajlnev
          'A szöveg egy sorának beolvasása a fájlból egy változóba
          Line Input #Fajlszam, Eredmstr
          'A változó adatainak tárolása egy aktív cellában
          If Left(Eredmstr, 1) = "=" Then
             ActiveCell.Value = "'" & Eredmstr
          Else
             ActiveCell.Value = Eredmstr
          End If
          
          'Az Excel 97 előtti Excel verziók esetén a megadott 65536 érték módosítása 16384-re
          If ActiveCell.Row = 65536 Then
             'Ha elérte az utolsó sort, kezdjen új lapot
             ActiveWorkbook.Sheets.Add
          Else
             'Ha még nem érte el az utolsó sort, menjen egy cellával lejjebb.
             ActiveCell.Offset(1, 0).Select
          End If
          'A számláló növelése 1-gyel
          Szamlalo = Szamlalo + 1
      'A Do While utasítás újrakezdése az elejétől
      Loop
      'A megnyitott szövegfájl bezárása
      Close
      'Az üzenet eltávolítása az állapotsorból
      Application.StatusBar = False

   End Sub
				
Megjegyzés: A makró az adatokat nem választja szét oszlopokra. A makró használata után elképzelhető, hogy az adatok megfelelő értelmezéséhez az Adatok menü Szövegből oszlopok parancsára is szüksége lesz. Ha a makrót Macintosh számítógépen futtatja, és megpróbál megnyitni egy fájlt a munkaasztalon, a fájl neve előtt a következő információkat kell megadnia:
Merevlemez:Asztal mappa:
ahol a Merevlemez a merevlemez nevét tartalmazza. Ügyeljen arra, hogy az Asztal és a mappa neve közé egy szóközt kell tenni.

Tulajdonságok

Cikk azonosítója: 120596 - Utolsó ellenőrzés: 2011. szeptember 19. - Verziószám: 3.0
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Excel 2007
Kulcsszavak: 
kbimport kbhowto kbcode KB120596
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com