Страницы: 1
RSS
Как убрать лишние кавычки vba
 
Всем доброго дня! Поиском пользовался, но в разрезе vba не смог найти ответ на свой вопрос. Визуально ситуацию отобразил во вложении.

Подскажите, пожалуйста, как правильно прописать код, чтобы убрать двойные кавычки в конце строки?
Код
If CheckBox1.value = False Then
        If TextBox7.value = "" Then
            Label14 = Abr
        Else
            Label14 = Abr & " """ & TextBox7.value & """"
        End If
    Else
    Label14 = Abr & " """ & TextBox22.value & """"
    End If
 
Cryphon, и каков должен быть результат?
Форму для проверки вы нам самим предлагаете нарисовать?
 
Михаил Витальевич С., исправляюсь

Вводная: есть организации, где полное наименование записано в дополнительных кавычках, как это указано на картинке в первом сообщении. Можно, конечно, просто не дописывать эту кавычку в конце, но тут уже больше спортивный интерес и пополнение знаний. Во вложении необходимый кусок формы

Форма нужна для автозаполнения договоров, поэтому и краткий, и полный вариант наименований задействованы.
Изменено: Cryphon - 07.10.2020 13:11:41
 
В общем случае это выглядит так:
Код
Sub qqq()
Dim OldText As String, NewText As String
    OldText = "Мой текст"
    MsgBox OldText
    NewText = """" & OldText & """"
    MsgBox NewText
End Sub

А можно схитрить: писать два апострофа подряд )
 
Cryphon, А для чего прикладывать файл word, форма в котором не активируется?
По вопросу, можно таким методом воспользоваться
Код
Sub qqq()
    Dim OldText As String, NewText As String
    OldText = "Мой текст"
    MsgBox OldText
    NewText = Chr(34) & OldText & Chr(34)
    MsgBox NewText
End Sub
Изменено: Nordheim - 07.10.2020 13:32:40
"Все гениальное просто, а все простое гениально!!!"
 
Юрий М, я заметил, что, видимо, неверно описал ситуацию: в Label, при вводе в Textbox "полное наименование" текста с кавычками, подставляется вторая кавычка в конце строки. По поводу Вашего примера - это да, согласен, но тут идея в том, что если в конце TextBox'а уже есть кавычка, то хотелось бы, чтобы в Label вставала кавычка только в начале. Таким образом вопрос: как правильно vba донести, что в случае если в текстбоксе последний символ кавычка, то в Label пишем просто """" & OldText. Надеюсь, описал понятно
 
Цитата
Nordheim написал:
А для чего прикладывать файл word, форма в котором не активируется?
На всякий случай прописал верную инициализацию
 
В общем, методом тыка:
Код
Private Sub TextBox22_Change()
    If CheckBox1.value = True Then
        If TextBox22.value = "" Then
            Label14 = Abr
        Else
            Label14 = Abr & " """ & Replace(TextBox22.value, Chr(34), "") & """"
        End If
    Else
    Label14 = Abr & " """ & Replace(TextBox22.value, Chr(34), "") & """"
    End If
End Sub
 
Всем спасибо, сам себе и ответил =))
Сработало в таком виде:
Код
        If TextBox22.value = "" Then
            Label14 = Abr
        ElseIf Right(TextBox22.value, 1) = Chr(34) Then
            Label14 = Abr & " """ & TextBox22.value
        Else
            Label14 = Abr & " """ & TextBox22.value & """"
        End If
Изменено: Cryphon - 07.10.2020 14:04:24
 
Только сейчас заметил - а почему мы обсуждаем Word?
 
Юрий М, Прошу прощения, сам только сейчас понял, что зашел по привычке в ветку эксель. Если есть возможность, перенесите, пожалуйста
 
Цитата
Cryphon написал:
убирает обе кавычки, а надо последнюю.
ну, в общем-то, по правилам русского языка, правильно либо «Группа компаний «Группа СТД»» либо «Группа компаний Группа СТД», а «Группа компаний «Группа СТД» неправильно...
 
зачем ставить лишние кавычки чтобы потом их убирать?
не ставьте - не нужно будет убирать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх