ВБА ИнпутБок - Унос података од корисника у макроу - Примери ВБА кода

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

Тхе ВБА оквир за унос омогућава нам да затражимо од корисника да унесе информације. Подаци се тада могу користити у нашем ВБА коду или у Екцел радном листу.

ВБА оквир за унос са променљивом

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

У зависности од врсте информација које желимо да се врате из оквира за унос, можемо прогласити одређени тип променљиве да или врати текст (стринг или варијаблу варијанте) или да врати број (целобројна, дуга, двострука или појединачна променљива).

Стринг променљива са оквиром за унос

Ево како можете да креирате ИнпутБок где се подаци враћају у променљиву стринг.

123 Дим стрИнпут ас СтрингстрИнпут = ИнпутБок ("Ово је мој ИнпутБок", "МиИнпутТитле", "Унесите текст за унос ОВДЕ")

Приметите да прво декларишемо променљиву. Овој променљивој ће бити додељена вредност коју корисник унесе. Користили смо променљиви тип Стринг да би поље за унос прихватило текстуалне низове (који укључују било које алфанумеричке знакове).

Променљива броја са оквиром за унос

Ако декларишете променљиву броја, мораћете да унесете број само у оквир за унос.

12 Дим иИнпут Ас ИнтегериИнпут = ИнпутБок ("Молимо унесите број", "Креирајте број фактуре", 1)

Прво декларишемо променљиву број као променљиву целог броја. Тада можемо такође поставити подразумевану вредност 1 у оквир за унос.

Ако бисмо уместо броја унели стринг, а затим кликнули на ОК, добили бисмо грешку неусклађености типа јер променљива броја не прихвата низ.

Добијте унос од корисника

Ево још једног примера који користи најпопуларније функције ИнпутБок -а.

Следећи код ради три ствари:

1. Тражи унос помоћу ИнпутБок -а и додељује га променљивој

2. Потврђује унос, у супротном излази из подм

3. Враћа унос у оквир за поруку

12345678910111213 Јавни Суб МиИнпутБок ()Дим МиИнпут Ас СтрингМиИнпут = ИнпутБок ("Ово је мој ИнпутБок", "МиИнпутТитле", "Унесите текст за унос ОВДЕ")Ако је МиИнпут = "Унесите текст за унос ОВДЕ" Или МиИнпут = "" ЗатимЕкит СубКрај АкоМсгБок "Текст из МиИнпутБок је" & МиИнпутЕнд Суб

Враћање уноса у Екцел листу

Унос који унесете у оквир за унос можете вратити у одређену ћелију у Екцел листу.

1 Опсег ("П1") = ИнпутБок ("Унесите своје име", "Унесите име", "Унесите име ОВДЕ")

Такође можемо вратити улазне податке у Екцел листу користећи променљиву.

12345678910 Суб ЕнтерНумбер ()На Грешка Настави даљеДим дблАмоунт Ас ДоубледблАмоунт = ИнпутБок ("Молимо унесите потребан износ", "Унесите износ")Ако је дблАмоунт 0 ТадаОпсег ("А1") = дблАмоунтИначеМсгБок "Нисте унели број!"Крај АкоЕнд Суб

У горњем примеру од нас се тражи да унесемо број. Ако унесемо број, онда променљиву дблАмоунт ће ставити број у Екцел листу у ћелију А1. Међутим, ако не унесемо број, оквир за поруку ће нам рећи да нисмо унели број и ништа неће бити стављено у ћелију А1.

Коришћење ВБА ИнпутБок -а у програму Аццесс ВБА

Оквир за унос ВБА функционише на исти начин у Аццессу као и у Екцелу при враћању корисничког уноса у облику оквира за поруку.

Међутим, ако желите да вратите кориснички унос у базу података, морали бисте да користите објекат Рецордсет уместо објекта Ранге као што се користи у Екцелу.

1234567891011121314 Суб ЕнтерИнвоицеНумбер ()Дим дбс као база податакаДим рст Ас РецордсетСет дбс = ЦуррентДбПостави рст = дбс.ОпенРецордсет ("тблМаттерс", дбОпенДинасет)Са првим.Додај нови! ИнвНо = ИнпутБок ("Молимо унесите број фактуре", "ГЕНЕРАЦИЈА БРОЈА РАЧУНА", 1).АжурирањеЗавршитирст.ЦлосеСет рст = НиштаПоставите дбс = НиштаЕнд Суб

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

wave wave wave wave wave