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

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

Всем здравствуйте. Пытаюсь в VBA написать код, чтобы при определенных значениях переменных "Н" и "L" прописывался текст "VL" или "Gr" либо ничего. В VBA делаю первые шаги, по этому прошу помощи. Часть кода:
Dim Н As Integer
    Set Н = ActiveLayer.CreateArtisticText()
 
With Н ActiveLayer.CreateArtisticText(n1 + (x1 + k) / 2, n2 - t2 - x3 - k * 2 - l * 2 - (hz / 3 * 1.35) + hotst, x1 + k - 1, cdrRussian, cdrCharSetRussian, _
         "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
      .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  End With
 
Dim L As Integer
    Set L = ActiveLayer.CreateArtisticText()
 
  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, _
         "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
      .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  End With
 
If H>=340 And H<=900 And L>=1050 And L<=1950
With ActiveLayer.CreateArtisticText(str_h + 130 * hotst1, hz1 * 1.9, "VL", cdrRussian, cdrCharSetRussian, _
         "Times New Roman", hz1 * 1.3, Bold:=cdrTrue, Italic:=cdrFalse, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
      .Fill.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
  End With
 
If H>=260 And H<=1100 And L>=600 And L<=2150
With ActiveLayer.CreateArtisticText(str_h + 130 * hotst1, hz1 * 1.9, "Gr", cdrRussian, cdrCharSetRussian, _
         "Times New Roman", hz1 * 1.3, Bold:=cdrTrue, Italic:=cdrFalse, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
      .Fill.ApplyUniformFill CreateCMYKColor(0, 100, 100, 0)
  End With
 
Else
0
End If

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

textual
Dim Н As Integer
    Set Н = ActiveLayer.CreateArtisticText()
 
With Н ActiveLayer.CreateArtisticText(n1 + (x1 + k) / 2, n2 - t2 - x3 - k * 2 - l * 2 - (hz / 3 * 1.35) + hotst, x1 + k - 1, cdrRussian, cdrCharSetRussian, _
         "Arial", hz, Bold:=cdrFalse, Italic:=cdrTrue, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
      .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
  End Withh

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


СОХРАНИТЬ ССЫЛКУ