Доброго времени суток, друзья!
Уже голову сломал, а "оно как не работало, так и не работает". Есть код на событии Control-а в UserForm:
Код |
---|
Private Sub lbx_TipKroja_Change()
Dim arrZnac
Dim arrFiguraS
Dim kwORul As Integer
Dim nmVer As String, znacParam As String
Dim wbThs As Workbook
Dim wbNSI As Workbook
Dim flg As Boolean
znacParam = ""
flg = True
With Me.lbx_Kroja
If .Text = "" Then Exit Sub
'Me.lbx_TipRaskroja.ListIndex = -1 '- очищаем предыдущий выбор
risNM = "Р_" & .List(.ListIndex, 2)
znacParam = .List(.ListIndex, 4)
End With
'доведение параметра до формата имени файла
If InStr(1, risNM, "/", vbTextCompare) > 0 Then
risNM = Replace(risNM, "/", "][", , , vbTextCompare)
End If
'
If InStr(1, znacParam, "][", vbTextCompare) > 0 Then
With Me.lbx_TipKroja
arrFiguraS = Split(.List(.ListIndex, 1), " / ", , vbTextCompare)
End With
arrZnac = Split(znacParam, "][", , vbTextCompare)
znacParam = ""
Else
With Me.lbx_TipKroja
onlFiguraS = .List(.ListIndex, 1)
End With
End If
Set wbThs = ThisWorkbook '
nmVer = Application.Version
Select Case nmVer
Case "14.0"
Dim thWbFullName As String, nmFl As String
thWbFullName = wbThs.FullName
nmFl = wbThs.Name
thWbPath = Replace(thWbFullName, "\" & nmFl, "", , , vbTextCompare)
Case "16.0"
thWbPath = wbThs.Path
End Select
flSPR = "\НСИ\Типы раскроя\" & risNM & ".jpg"
If Dir(thWbPath & flSPR) = "" Then 'проверяем существует ли файл, по указанному пути
flSPR = "\ЭлУпр\НеЗнаю.jpg"
flg = False
End If
With Me.img_TipKroja
.PictureSizeMode = fmPictureSizeModeZoom
.Picture = LoadPicture(thWbPath & flSPR)
End With
If flg = False Then
MsgBox "Файла нет", vbCritical + vbOKOnly, flSPR
Exit Sub
End If
If usf_Plenka.tbx_KolWoRulonow.Value = "" Then Exit Sub
If znacParam = "" Then
For j = LBound(arrZnac) To UBound(arrZnac)
geomFigur = arrFiguraS(j)
With usf_Plenka
Lt = .Left
Tp = .Top + .Height + 6
kwORul = CInt(.tbx_KolWoRulonow.Value)
End With
With usf_SborZnac
.Caption = "Маска: " & geomFigur
.lbl_plan.Caption = arrZnac(j)
.lbl_planWsego.Caption = CStr(CInt(arrZnac(j)) * kwORul)
.tbx_DateOper.Value = Format(Date, "dd.mm.yyyy")
.Left = Lt
.Top = Tp
If j = UBound(arrZnac) Then
.Tag = 0
Else
.Tag = 1
End If
.Show
End With
Next j
Erase arrFiguraS
Erase arrZnac
Else
geomFigur = onlFiguraS
With usf_Plenka
Lt = .Left
Tp = .Top + .Height + 6
kwORul = CInt(.tbx_KolWoRulonow.Value)
End With
With usf_SborZnac
.Caption = "Маска: " & geomFigur
.lbl_plan.Caption = znacParam
.lbl_planWsego.Caption = CStr(CInt(znacParam) * kwORul)
.tbx_DateOper.Value = Format(Date, "dd.mm.yyyy")
.Left = Lt
.Top = Tp
.Tag = 0
.Show
End With
End If
End Sub
|
и вот на строках:
Код |
---|
With Me.img_TipKroja
.PictureSizeMode = fmPictureSizeModeZoom
.Picture = LoadPicture(thWbPath & flSPR)
End With
|
выдает сообщение, скриншот на скрепке. Хотя в другом файле все работало. В чем проблема - непонятно (для меня). Помогите, пожалуйста.