ВБА Напишите текстуалну датотеку | Напишите Екцел податке у текстуалне датотеке користећи ВБА код
Екцел ВБА Писање текстуалне датотеке
У ВБА можемо отворити или читати или писати текстуалну датотеку, писање текстуалне датотеке значи податке које имамо у екцел листу и желимо их у текстуалну датотеку или датотеку бележнице, постоје два начина, један је коришћење својства објекта Филе Систем ВБА, а друго је коришћење методе Опен анд врите у ВБА.
У већини корпоративних компанија, након што извештај буде завршен, гледају да извештај пренесу у базу података. За учитавање у базу података користе формат „Текстуалне датотеке“ за ажурирање базе података. Обично копирамо податке из програма Екцел и налепљујемо их у текстуалну датотеку. Разлог зашто се ослањамо на текстуалне датотеке јер је са њима врло лако радити због лаганих и једноставнијих начина. Коришћењем ВБА кодирања можемо аутоматизовати задатак копирања података из екцел датотеке у текстуалну датотеку. У овом чланку ћемо вам показати како копирати или записати податке из екцел датотеке у текстуалну датотеку помоћу ВБА кода.
Како писати податке у текстуалне датотеке користећи ВБА?
Записивање података из екцела у текст сложено је кодирање и захтева врло добро познавање ВБА кодирања. Следите кораке у наставку за писање ВБА кода за копирање података из Екцела у текстуалну датотеку.
Пре него што вам покажем начин писања кода, објаснићу како да отворим текстуалну датотеку помоћу отворене изјаве.
Синтакса отворене текстуалне датотеке
Отворите [Путања до датотеке], за [Начин], Као [Број датотеке]
Путања до датотеке: Путања датотеке коју покушавамо да отворимо на рачунару.
Начин рада: Режим је контрола над отварањем текстуалних датотека. Можемо имати три врсте контроле над текстуалном датотеком.
- Начин уноса: Ово сугерише „Само за читање”Контрола почетне текстуалне датотеке. Ако користимо „режим уноса“, не можемо ништа урадити са датотеком. Можемо само прочитати садржај текстуалне датотеке.
- Излазни режим: Коришћењем ове опције можемо на њу да напишемо садржај. Овде морамо имати на уму да ће сви постојећи подаци бити преписани. Дакле, морамо да пазимо на могући губитак старих података.
- Додати режим: Овај режим је потпуно супротан од ОутПут Моде. Коришћењем ове методе можемо заправо написати нове податке на крају постојећих података у датотеци.
Број датотеке: Ово ће бројати број текстуалних датотека свих отворених текстуалних датотека. Ово ће препознати бројеве отворених датотека у целобројним вредностима од 1 до 511. Додељивање броја датотеке је незгодно и доводи до велике забуне. За ово можемо користити бесплатну функцију Датотека.
Бесплатна датотека враћа јединствени број отворених датотека. На овај начин можемо доделити јединствени број датотеке без било каквих дуплираних вредности.
Овде можете преузети овај предложак за писање текстуалне датотеке ВБА - ВБА шаблон за писање текстуалне датотекеПример # 1
Следите кораке у наставку за писање кода за стварање нове текстуалне датотеке.
Претпоставимо да сте у меморији рачунара већ имали текстуалну датотеку под називом „Хелло.ткт“ и ми ћемо вам показати како да запишете податке у њу.
Корак 1: Прогласите променљиву
Прогласите променљиву која држи путању до датотеке као Стринг.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као крај низа Суб
Корак 2: Одредите број датотеке
Да бисмо утврдили на који се број датотеке позивамо, прогласити још једну променљиву као Интегер.
Шифра:
Суб ТектФиле_Екампле1 () Затамни пут као низ Затамни број датотеке као цео крај Крај Суб
Корак 3: Доделите путању до датотеке
Сада за променљиву Патх доделите путању датотеке са именом датотеке.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: \ Екцел датотеке \ ВБА датотека \ Хелло.ткт" 'Промените путању према вашем захтеву Заврши под
Корак 4: Доделите функцију бесплатне датотеке
Сада за променљиву Број датотеке доделите функцију „Бесплатна датотека“ за чување јединственог броја датотеке.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: \ Екцел датотеке \ ВБА датотека \ Хелло.ткт" 'Промените путању према вашем захтеву ФилеНумбер = ФрееФиле Енд Суб
Корак 5: Отворите текстуалну датотеку
Сада треба да отворимо текстуалну датотеку да бисмо са њом радили. Као што сам објаснио, за отварање текстуалне датотеке морамо користити изјаву ОПЕН.
Корак 6: Користите метод штампања / писања
Једном када се датотека отвори, у њу морамо нешто написати. Да бисмо писали у текстуалну датотеку, морамо користити методу „Напиши“ или „Штампај“.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: \ Екцел датотеке \ ВБА датотека \ Хелло.ткт" 'Промените путању према вашем захтеву ФилеНумбер = ФрееФиле Отворена путања за излаз као број датотеке Испис #Број датотека, " Добродошли "Принт #ФилеНумбер," то "Принт #ФилеНумбер," ВБА "Енд Суб
Прво, морамо поменути број датотеке (овде смо датотеку доделили преко променљиве „ФилеНумбер“), затим у текстуалну датотеку морамо додати садржај који желимо да додамо.
Корак 7: Сачувајте и затворите текстуалну датотеку
Једном када је садржај записан у текстуалну датотеку, потребно је да сачувамо и затворимо текстуалну датотеку.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: \ Екцел датотеке \ ВБА датотека \ Хелло.ткт" 'Промените путању према вашем захтеву ФилеНумбер = ФрееФиле Отворена путања за излаз као број датотеке Испис # Број датотеке, " Добродошли "Принт #ФилеНумбер", у "Принт #ФилеНумбер," ВБА "Затвори ФилеНумбер Енд Суб
Сада покрените овај код ручно или помоћу пречице екцел тастера Ф5, он ће записати поменути садржај у поменуту текстуалну датотеку.
Пример # 2
Сада ћемо видети како записати податке Екцел листа у текстуалну датотеку.
За овај пример сам створио једноставне податке у екцелу као доле.
Корак 1: Наставком старог примера дефинишите још две променљиве као Интегер да бисте пронашли последњи ред и последњу колону.
Шифра:
Суб ТектФиле_Екампле2 () Затамни путању као низ Затамни датотекуБрој Као целобројно Затамни ЛР Као целобројно Затамни ЛЦ Као целобројно Заврши Суб
Корак 2: Пронађите радни лист последњи коришћени ред и колону.
Корак 3: Сада доделите путању датотеке и број датотеке.
Корак 4: Сада користите израз ОПЕН да бисте отворили текстуалну датотеку.
Корак 5: Морамо да пролазимо кроз редове и колоне, па још две променљиве декларишите као Интегер.
Корак 6: Сада отворите Лооп за петљу кроз ред (за следећу петљу у ВБА)
Корак 7: Сада за петљање кроз колоне отворите још једну петљу унутар постојеће петље.
Корак 8: Морамо писати исти ред података док не стигне до последње колоне. Дакле, за ово примените ИФ изјаву у ВБА.
Корак 9: Сада сачувајте и затворите текстуалну датотеку.
Овај код ће записати детаље у текстуалну датотеку, али да бисмо отворили текстуалну датотеку након писања, морамо користити доњи код.
Шифра:
Суб ТектФиле_Екампле2 () Зацртај путању као низ Дим Дим ФилеБрој Као целобројно Дим ЛР Као целобројно Дим ЛЦ Као целобројно Дим к Као целобројно Дим и као цело целокупно ЛР = Радни листови ("Текст"). Ћелије (Редови.број, 1). Крај (клУп) .Ред ЛЦ = Радни листови („Текст“). Ћелије (1, Колоне.број). Крај (клТоЛефт). Путања колоне = "Д: \ Екцел датотеке \ ВБА датотека \ Хелло.ткт" Број датотеке = Отвори путању ФрееФиле за излаз Број датотеке за к = 1 у ЛР За и = 1 у ЛЦ Ако и ЛЦ Затим одштампајте #ФилеНумбер, Ћелије (и, к), Елсе Принт #ФилеНумбер, Целлс (и, к) Енд Иф Нект и Нект к Цлосе ФилеНумбер Схелл "нотепад .еке "& Патх, вбНормалФоцус Енд Суб
Дакле, покрените код помоћу тастера Ф5 или ручно, а затим ће копирати податке попут доле наведених.