Обозначить переменную при использовании оператора With - VBA

Узнай цену своей работы

Формулировка задачи:

Всем здравствуйте. Пытаюсь в VBA написать код, чтобы при определенных значениях переменных "Н" и "L" прописывался текст "VL" или "Gr" либо ничего. В VBA делаю первые шаги, по этому прошу помощи. Часть кода:
Листинг программы
  1. Dim Н As Integer
  2. Set Н = ActiveLayer.CreateArtisticText()
  3. With Н ActiveLayer.CreateArtisticText(n1 + (x1 + k) / 2, n2 - t2 - x3 - k * 2 - l * 2 - (hz / 3 * 1.35) + hotst, x1 + k - 1, cdrRussian, cdrCharSetRussian, _
  4. "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
  5. Alignment:=cdrCenterAlignment)
  6. .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  7. End With
  8. Dim L As Integer
  9. Set L = ActiveLayer.CreateArtisticText()
  10. With L ActiveLayer.CreateArtisticText(n1 + x1 + (x2 + k) / 2 + k, n2 - t2 - x3 - k * 2 - l * 2 - (hz / 3 * 1.35) + hotst, x2 + k, cdrRussian, cdrCharSetRussian, _
  11. "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
  12. Alignment:=cdrCenterAlignment)
  13. .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  14. End With
  15. If H>=340 And H<=900 And L>=1050 And L<=1950
  16. With ActiveLayer.CreateArtisticText(str_h + 130 * hotst1, hz1 * 1.9, "VL", cdrRussian, cdrCharSetRussian, _
  17. "Times New Roman", hz1 * 1.3, Bold:=cdrTrue, Italic:=cdrFalse, Underline:=cdrNoFontLine, _
  18. Alignment:=cdrCenterAlignment)
  19. .Fill.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
  20. End With
  21. If H>=260 And H<=1100 And L>=600 And L<=2150
  22. With ActiveLayer.CreateArtisticText(str_h + 130 * hotst1, hz1 * 1.9, "Gr", cdrRussian, cdrCharSetRussian, _
  23. "Times New Roman", hz1 * 1.3, Bold:=cdrTrue, Italic:=cdrFalse, Underline:=cdrNoFontLine, _
  24. Alignment:=cdrCenterAlignment)
  25. .Fill.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
  26. End With
  27. Else
  28. 0
  29. End If

Решение задачи: «Обозначить переменную при использовании оператора With»

textual
Листинг программы
  1. Dim Н As Integer
  2.     Set Н = ActiveLayer.CreateArtisticText()
  3.  
  4. With Н ActiveLayer.CreateArtisticText(n1 + (x1 + k) / 2, n2 - t2 - x3 - k * 2 - l * 2 - (hz / 3 * 1.35) + hotst, x1 + k - 1, cdrRussian, cdrCharSetRussian, _
  5.          "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
  6.          Alignment:=cdrCenterAlignment)
  7.       .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  8.   End Withh

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы