Тема: автоматическое форматирование при копипасте
Наверное тупой вопрос.... но я не нашел
есть текст типо
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Наверное тупой вопрос.... но я не нашел
есть текст типо
Наверное тупой вопрос.... но я не нашел
есть текст типо "логин:пароль:мыло"
когда вставляю в ворд 2016 нужно что бы формат был "логин : пароль : мыло"
возможно как то сделать? нашел только авто форматирование при написании вручную, но на контрл с+контрл в оно не работает
Наверное тупой вопрос.... но я не нашел
есть текст типо "логин:пароль:мыло"
когда вставляю в ворд 2016 нужно что бы формат был "логин : пароль : мыло"
А если попробовать заменить ":" на " : "? просматривая каждую замену, чтобы не заменить там, где не надо...
Наверное тупой вопрос.... но я не нашел
есть текст типо "логин:пароль:мыло"
когда вставляю в ворд 2016 нужно что бы формат был "логин : пароль : мыло"
возможно как то сделать? нашел только авто форматирование при написании вручную, но на контрл с+контрл в оно не работает
Я не помню, но возможно в ворде есть событие вставки.
Я не помню, но возможно в ворде есть событие вставки.
А что такое "событие вставки"? Разве такое в Ворде есть?
. . .
Я не помню, но возможно в ворде есть событие вставки.
. . .
События вставки нет, но есть событие объекта Application (т.е. объекта, представляющего приложение Word): WindowSelectionChange.
Это событие можно обработать, предварительно создав модуль класса и связав его с приложением.
Подробнее
внешняя ссылка
внешняя ссылка
Вместе с тем, процедуре обработки WindowSelectionChange передается весь Selection, поэтому не очень понятно, как можно это было бы использовать для выделения того, что было вставлено.
Если вы хотите, чтобы текст, ранее скопированный в буфер Windows, вставлялся бы с добавлением пробелов вокруг двоеточия, то вам надо решиться на замену вызова системного макроса Word вашим вариантом:
1. Пишете свой вариант макроса EditPaste
2. Вставляете его в модуль Normal.dotm
Тогда каждый раз при нажатии Ctrl+V будет вызываться ваш код.
Вот например, каким может быть вариант этого макроса для вашего случая (в макросе извлекается текст из буфера, проводится замена ":" на " : " и вставляется про месту курсора или текущего выделения):
Sub EditPaste()
Dim DataObj As MSForms.DataObject
Dim MyString As String
Set DataObj = New MSForms.DataObject
MyString = ""
On Error Resume Next
DataObj.GetFromClipboard
MyString = DataObj.GetText(1)
On Error GoTo 0
If MyString <> "" Then
'Replacing ":" with " : "
MyString = Replace(MyString, ":", " : ")
Selection.Text = MyString
End If
End Sub
Возможно, понадобится в VBA-проекте подключить ссылку на MicrosoftForms 2.0 Object Library.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться