Передача имени элемента управления в виде строки в объект формы в VBA - PullRequest
0 голосов
/ 26 июня 2019

Я передаю имена элементов управления в виде строк в подпрограмму, потому что код может применяться ко многим формам, элементам управления и элементам управления подчиненной формы. Я не могу понять, как обращаться к элементу управления при передаче в виде строки с помощью: С f Объект формы.

  This works fine:
  Dim sControlName as string
  sControlName = "myControlName"
  Forms!myFormName.myChildFormName.Form(sControlName).Top = {some value}

  This will also work:
  Dim f as Form
  Set f = Forms!myFormName
  With f
      .myChildFormName.Form(sControlName).Top = {some value}
 End With

  This does not work:
  Dim f as Form
  Set f = Forms!myFormName.myChildFormName.Form
  With f
      'How do I get this below to work?
      (sControlName).Top = {some value}
  End With

1 Ответ

0 голосов
/ 26 июня 2019

После дополнительных проб и ошибок правильный способ построить это:

 Dim sControlName as string
 Dim f as Form
 sControlName = "myControlName"
 Set f = Forms!myFormName.myChildFormName.Form   {or any form }

 f(sControlName).Top = { some value }

 i.e. don't use With f / End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...