Combo Box

Автор Andi, 3 ноября 2024, 19:40

0 Пользователи и 1 гость просматривают эту тему.

Andi

Здравствуйте! помогите ниже представленный код VBA перевести на LibreOfficeBasic



Private Sub CommandButton1_Click()
   Dim mySheetName As String
     On Error Resume Next
           Dim z, s
         
     s = ", "
    If ComboBox1.Text = "" Then
        z = "заполни поле 1"
        End If
        If ComboBox2.Text = "" Then
         If z <> "" Then
        z = z + s
         End If
        z = z + "заполни поле 2"
        End If
        If ComboBox3.Text = "" Then
         If z <> "" Then
        z = z + s
         End If
        z = z + "заполни поле 3"
        End If
       
       
       
    'проверка на заполнение полей ","
         
        For Each x In Me.Controls
            If TypeOf x Is MSForms.TextBox Or TypeOf x Is MSForms.ComboBox Then
             If x.Value = "" Then
                MsgBox "Необходимо заполнить полe:- " & z, 48, "Сообщение"
                Exit Sub
             End If
            End If
         Next
           

sokol92

#1
Добрый день!
Отформатируйте, пожалуйста, код своего макроса с помощью кнопки "Код" на инстументальной линейке.

Если Вы свой код VBA запишете так, как указано ниже, то пользовательская форма книги Excel будет корректно работать и в Calc - см. приложенный пример.

Private Sub CommandButton1_Click()
   Dim z As String
   If ComboBox1.Text = "" Then
     z = "заполни поле 1"
   End If
   If ComboBox2.Text = "" Then
     z = z & IIf(z = "", "", ", ") & "заполни поле 2"
   End If
   If ComboBox3.Text = "" Then
     z = z & IIf(z = "", "", ", ") & "заполни поле 3"
   End If
      
   If z <> "" Then
     MsgBox "Необходимо заполнить полe: - " & z, 48, "Сообщение"
   End If

End Sub


О написании диалогов в LibreOffice написано в соответствующей главе знаменитой книги Питоньяка OOME_4_1.odt.
Владимир.

Andi