Dostęp aż do plików tekstowych z programu Excel

Home page TOP

Dostęp do plików tekstowych spośród programu Excel jest częstym wymogiem zaś pożądane byłoby wiedzieć, niektóre spośród funkcji oraz narzędzi dostępnych w VBA , przede wszystkim jak wypatrywać pliku i porównanie danych z informacjami w arkuszu kalkulacyjnym .Ten artykuł wyjaśni, w który sposób porównać dane w zobacz listowie z informacji zawartych w pliku tekstowym , a w szczególności identyfikacji duplikatów i brakujących danych .Otwieranie pliku tekstowegoJeśli obecnie pracuje spośród VBA na chwilę, dostęp aż do obiektu systemu plików ( FSO) powinna byćprocedura nuże zanotowany w bibliotece kod , żeby dostępu do plików łatwiejsze. Albo , możesz skopiować niższy kod komputerowy , zastępując nazwę pliku z jednego spośród własnych.Poniższy kod komputerowy odczytuje dane na tempo znaków o nazwie allTxt a będziemy fetować tego ciągu , by zestawić jederman cząstka na naszej liście . Innym rozwiązaniem jest czytanie pliku linia po linii, wszak byłoby to o niemało wolniej w każdej pozycji na liście musiałaby egzystować w stosunku aż do każdego wiersza w pliku .Dim fso Jak Scripting.FileSystemObjectDim myFile jak obiektZestaw = FSO Nowe Scripting.FileSystemObjectfilePath = ActiveWorkbook.path & ” mojplik.txt “Ustaw mojplik = fso.openTextFile ( filePath )allTxt = myFile.ReadAllmyFile.CloseUstaw mojplik = NothingSet FSO = NothingKiedy w tej chwili zapisane dane do łańcucha, nie musimy paczka aktualnie wobec tego go zamknąć tudzież zwolnić go spośród pamięci.Następnym krokiem jest , żeby przebrać listę danych , które chcemy porównać . Jeślidane są w jednej kolumnie arkusza (1) nasz kod będzie cokolwiek takiego :dim rng w zakresiearkusze (1). włączyćustawić rng = Range ( “A1” ) . currentRegion.columns (1)Z naszej listy zdefiniowane tudzież dane z pliku tekstowego w ciągu my puszki supeł listę i określić, które elementy są zawarte w pliku :Dla każdego c w rng.rowsJeśli InStr ( allTxt , c ) > 0 ThentxtFound = txtFound & c & “,”więcejtxtNotFound = txtNotFound & c & “,”End IfnastępnyKod został napisany na dwoje osobne ciągi rzeczy znalezionych natomiast tych nie znaleziono . To terazproste obowiązek przerobić konsekwencja w czytelnej formie .Najpierw usuniemy przecinek spływu z każdej struny spośród funkcji lewej .txtFound = podrobiony ( txtFound , Len ( txtFound ) – 1)txtNotFound = zobacz oszukany ( txtNotFound , Len ( txtNotFound ) – 1)Wreszcie, stworzymy okno komunikatu , żeby uzmysłowić rezultat . Zauważ vbCrLf znaków , jaki wprowadza nową linię pośrodku dwoje ciągi .msg = ” Znaleziono: ” & txtFound & vbCrLfmsg = msg & ” Nie znaleziono : ” & txtNotFoundMsgBox msgstreszczenieTen artykuł wykazał mrowie VBA aż do porównania danych w różnych plikach. Czasami użytkownicy muszą zawierać informacje w różnych strukturach tudzież owo jest przydatne znać , gdy otrzymać admitancja zaś odwracać kota ogonem pliki tekstowe aż do własnych konkretnego projektu .