Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Удаление переноса строки из текста из TextBox
 
Суть не в конкретном тексте, а в любом, где есть перенос строки. Но вы оказались одним из экстрасенсов, замена vbCrLf действительно помогла. Удаления одного лишь Chr(10) мало видимо. Спасибо!
Удаление переноса строки из текста из TextBox
 
Добрый день.

Предисловие: Существует UserForm которая из TextBox переносит данные в файл .txt на компьютере. Если в коробку занесли текст с переносом строки (Chr(10) предположительно), то и в файле .txt он будет занимать больше одной строчки, что для меня не желательно.
Решением было Replace(TextBox1.Text, Chr(10), " "), что действительно позволило вместить весь текст на одну строчку, но возникла проблема при чтении файла .txt (добрались до сути).
Проблема: При чтении строки из файла .txt, в которую ранее добавлялся текст с заменой Chr(10), и занесении ее данных в Label в UserForm, все что идет после того места, где был Chr(10), не добавляется. Читая файл .txt на том месте остается какой то символ, не занимающий места.
Пробовал заменить Chr(10), Chr(160), Chr(172) и Chr(182), все одинаково не помогает.
Просьба подсказать решение.
Удаление UserForm из самой формы и импорт его же из общей папки
 
Unload Me не помогло...
Но в целом проблема решилась, спасибо огромное!
Очень помогла следующая строчка от Игоря :
Код
Application.ontime now + 1/86400, "UpdateForm" ' запуск через секунду
Соответственно код имеет следующий вид.
Кнопка в форме:
Код
Private Sub CommandButton7_Click()
Application.OnTime Now + 1 / 86400, "UpdateUserForm"
Unload Me
End Sub
Макрос:
Код
Sub UpdateUserForm()

On Error GoTo Error1
With ThisWorkbook.VBProject.VBComponents
    .Remove .item("UserForm1")
End With
Error1:

On Error GoTo Error2
ThisWorkbook.VBProject.VBComponents.Import ("...\UserForm1.frm") 'Адрес
MsgBox "Успешно!"
Exit Sub
Error2:

Application.OnTime Now + 1 / 86400, "UpdateUserForm"

End Sub
Ранее застревал в макросе на второй ошибке, не удавалось ему импортировать форму, т.к. форма использовалась (в предыдущем сообщении описывал проблему) и надо было макрос запускать еще раз, потому что он только удалил форму.
Dima S, согласен с тем что пользователю лучше поменьше знать и видеть лишних табличек, но пренебрегаю этим, так как обновление это будет не столь частым.  
Изменено: Alfenok - 10.05.2016 12:59:08
Удаление UserForm из самой формы и импорт его же из общей папки
 
Да, спасибо, это вариант. А есть метод выгрузки формы из памяти? А то макрос не удаляет форму (которая открывалась хотя бы раз) непосредственно во время возникновения события, а только после завершения работы макроса. Много видел ссылок на метод Unload, но он не работает, вроде как в VBA вообще нет его.
Удаление UserForm из самой формы и импорт его же из общей папки
 
Данная галочка стоит. Если макрос находиться в отдельном модуле, то он свободно удаляет/добавляет, тут вопросов нет.
На работе разрабатывается UserForm с разного рода инструментами для оптимизации рабочего процесса для сотрудников и хотелось бы обновлять ее просто и быстро (не у всех хорошо с Excel, из-за этого банальное не желание что либо долгое делать, да и подходить к каждому занимает время, работа не связана с программированием).
Суть в том чтобы пользователь по команде просто открывал саму UserForm и нажимал кнопку, которая его же обновит. Выделять в панели быстрого доступа для этого отдельную кнопку нет смысла, это будет происходить раз в неделю или реже (возможно вообще пропадет потребность), не хотелось бы захламлять.

Если запускать процесс "обновления" из самой формы, которую надо обновить, то вылетит ошибка, мол форма вообще-то используется. Процесс начатый в одном макросе там же заканчивается... можно ли это обойти?  
Удаление UserForm из самой формы и импорт его же из общей папки
 
Добрый день.
Есть ли возможность обновлять UserForm программно (под обновлением понимаю её же удаление и импорт из общего источника) с условием, что процесс "обновления" начинался бы нажатием кнопки в самой форме?
Страницы: 1
Наверх