ВБА Копирај у међуспремник

Овај чланак ће показати како се користи ВБА за копирање ставки у међуспремник.

Можда желимо да копирамо информације у Екцел ВБА и сачувамо их за употребу у другој апликацији или у неко друго време када је Екцел макро престао да се изводи. Када макро престане да ради, информације које су ускладиштене у променљивој или променљивим престају да постоје и више се не могу дохватити. Начин за решавање овог проблема био би копирање ових података у међуспремник.

Копирање у међуспремник помоћу библиотеке ХТМЛ објеката

Најједноставнији начин коришћења међуспремника у програму Екцел ВБА је позивање библиотеке ХТМЛ објеката.

1234567 Суб СтореДата ()Затамни варТект као варијантуЗатамнити објЦП као објекатварТект = "Неки копирани текст"Постави објЦП = ЦреатеОбјецт ("ХтмлФиле")објЦП.ПарентВиндов.ЦлипбоардДата.СетДата "текст", варТектЕнд Суб

Како користимо касно везивање декларисањем променљиве објЦП као Објекат, не морамо да додајемо референцу у Екцел да би ова процедура функционисала.

Ако бисмо сада прешли на Екцел радни лист и кликнули Залепи, текст „Неки копирани подаци“ био би уметнут у изабрану ћелију.

Ако бисмо ову горњу процедуру променили у функцију, могли бисмо да пренесемо текст да се копира као променљива.

12345 Функција СтореДата (варТект као варијанта) као СтрингЗатамнити објЦП као објекатПостави објЦП = ЦреатеОбјецт ("ХтмлФиле")објЦП.ПарентВиндов.ЦлипбоардДата.СетДата "текст", варТектЗавршна функција

Ову функцију бисмо тада могли позвати више пута у нашем ВБА коду као и када треба да копирамо текст у међуспремник. Због тога текст не би био тешко кодиран у ВБА код.

123 Суб ЦопиДата ()СтореДата "Неки копирани текст"Енд Суб

Такође можемо користити ХТМЛ објект за враћање текста из међуспремника - нпр. Лепљење. За ово користимо ГетДата уместо СетДата методе.

12345 Функција РетурнДата ()Затамнити објЦП као објекатПостави објЦП = ЦреатеОбјецт ("ХтмлФиле")РетурнДата = објЦП.парентВиндов.цлипбоардДата.ГетДата ("текст")Завршна функција

Затим можемо позвати ову функцију да вратимо податке ускладиштене у међуспремнику.

123 Суб ПастеДата ()МсгБок РетурнДатаЕнд Суб

Згодан трик би био комбиновање две функције заједно како бисмо могли користити исту функцију за копирање и лепљење података, у зависности од тога да ли податке шаљемо у међуспремник или не, или желимо да преузмемо податке из међуспремника.

1234567891011 Функција СтореОрРетурнДата (Опционално стрТект Ас Стринг) Као СтрингЗатамни варТект као варијантуЗатамнити објЦП као објекатПостави објЦП = ЦреатеОбјецт ("ХтмлФиле")варТект = стрТектАко стрТект "" ОндаобјЦП.ПарентВиндов.ЦлипбоардДата.СетДата "текст", варТектИначеСтореОрРетурнДата = објЦП.ПарентВиндов.ЦлипбоардДата.ГетДата ("текст")Крај АкоЗавршна функција

У горњем коду променљиву стрТект можемо учинити необавезном - то значи да ћемо, ако желимо копирати податке, укључити и текст који треба копирати, али ако желимо да залепимо податке, изузећемо је.

Затим ћемо променљивој стринга (стрТект) доделити варијаблу Вариант како би се она ускладиштила у методи СетДата објекта ХТМЛ датотеке.

За копирање података можемо користити ову процедуру. Имајте на уму да укључујемо текст који треба копирати.

123 Суб ЦопиДата ()СтореОрРетурнДата "СомеЦопиедТект"Енд Суб

Да бисмо залепили податке, можемо користити овај поступак. Оквир са поруком ће приказати вредност ускладиштену у међуспремнику.

123 Суб ПастеДата ()МсгБок СтореОрРетурнДатаЕнд Суб

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave