Word разполага с няколко механизма за бързо въвеждане на повтарящ се текст. Но има и различни начини, които ще повишат вашата производителност и ще намалят отрицателните ви чувства към компютъра.

Д-р Мирослав Балчев (Медаров)

гр. Пловдив


Word разполага с няколко механизма за бързо въвеждане на повтарящ се текст. Целта на настоящото изложение не е да обучава потребителите да ги ползва, а само информативно ги изброявам: това са бабешкият метод Cut/Copy PasteOffice Clipboard, AutoText, AutoCorrect (те си имат своите прелести). Ако тези начини не са ви съвсем известни, допитайте се до всяко едно ръководство "for Dummies", "step by step" или аналогично, където те са основна тема за размисъл. и неговият внук
Искам да ви покажа нещо по-различно, нещо което ще повиши вашата производителност и ще намали отрицателните ви чувства към вашия най-добър/лош приятел в зависимост от гледната точка – персоналния компютър.
Кое налага да измислим нов метод. Да си представим следната ситуация. Имате да обработвате текст, в който на различни места се повтарят имена на градове – Тервел, Пловдив, Царево, Варна, София, Русе, Бургас, Габрово. Аз лично вече загубих всякакво желание да създавам автоматични текстове или списъци за автоматична корекция, които да ми помагат да въвеждам по-бързо имената на въпросните градове. Нищо не ни пречи, обаче малко да помечтаем и след това да опитаме да реализираме мечтите си. Представете си, че написвате името на града, щракате с десния бутон на мишката върху него и от контекстното меню избирате командата „Добави към менюто“. Активирането на последната команда да включва думата в която е курсора в контекстното меню.


По-надолу в текста при нужда да въведете вече включената в контекстното меню дума, просто щракате с десния бутон на мишката и от контектното меню избирате включената в него вече дума и тя се въвежда в документа.


Естествено трябва да се предвиди и механизъм за изтриване на думи от контекстното меню. Най-лесно това може да стане, когато курсорът е в думата delete. Тогава щракането върху вече включена дума в контекстното меню ще доведе до нейното изтриване.
Да пристъпим към реализацията на проекта си.
   1. Добавяне на командния ред "Добави към менюто" в контекстното меню.
Стартираме VBA редактора чрез Alt-F11 и щракаме два пъти върху ThisDocument на Project. В дясно е Code пространството. Там въвеждаме:

Dim myBlankbtn As CommandBarControl
Private Sub Document_Open()
CustomizationContext = ActiveDocument
CommandBars("Text").Reset
Set myBlankbtn = CommandBars("Text").Controls.Add(Before:=1)
myBlankbtn.Caption = "Добави към менюто"
myBlankbtn.OnAction = "add_to_menu"
myBlankbtn.BeginGroup = True
End Sub

   2. Създаване на код, който да се активира при щракане върху Добави към менюто. Като резултат, думата в която е курсора да се добавя най-горе в менюто.
Създаваме нов програмен модул от менюто Insert/Module на VBA редактора и в него записваме:

Sub add_to_menu()
Set myBlankbtn = CommandBars("Text").Controls.Add(Before:=1)
myBlankbtn.Caption = Selection.Words(1)
myBlankbtn.OnAction = "which"
End Sub
Public Sub which()
Selection.TypeText CommandBars.ActionControl.Caption
End Sub

   3. За да изтрием добавена дума от контекстното меню, което се появява при щракане с десния бутон на мишката върху текст, влизаме в създадения в т. 2 програмен модул и променяме функцията which по следния начин:

Public Sub which()
If Selection.Words(1) = "delete " or Selection.Words(1) = "delete" Then
CommandBars.ActionControl.Visible = False
Else
Selection.TypeText CommandBars.ActionControl.Caption
End If
End Sub

След създаването на по-горния код ще имаме като резултат поставената за цел в началото на документа ни функционалност. Ако затворим и отново отворим файла ще забележим, че след отварянето добавените думи в контекстното меню в предишната сесия вече не се появяват. Това налага една допълнителна довършителна промяна на кода и тя е:
   4. По-долният код се въвежда в раздела ThisDocument на проекта на VBA в редактора на мястото на създадения преди това.

Dim myBlankbtn As CommandBarControl
Dim mk As CommandBarControl
Private Sub Document_Open()
For Each mk In CommandBars("Text").Controls
'MsgBox mk.Caption & " " & Len(mk.Caption)
If mk.Caption = "Добави към менюто" Then
flag = 1
End If
Next
If flag = 1 Then
Else
Set myBlankbtn = CommandBars("Text").Controls.Add(Before:=1)
myBlankbtn.Caption = "Добави към менюто"
myBlankbtn.OnAction = "add_to_menu"
myBlankbtn.BeginGroup = True
End If
End Sub

С това нашата основна задача, формулирана в началото на документа е завършена. Това ни дава основа за бъдещи доработки и реализиране на фантазии, като включване в контекстното меню на команда "Сортирай добавените думи", възможност въведените думи в контекстното меню да се използват във всички документи, въвеждане на нови думи в менюто с горещ клавиш, да не се въвеждат еднакви думи в менюто, например два пъти Пловдив, в менюто да може да се въвеждат селектираните думи и др., но за това някой друг път. Всъщност за да бъде възможно въвеждането на думите от контекстното меню във всички нови документи е необходимо съвсем малко – добавяне на 2 програмни реда – единият в Document_Open, а вторият в Sub add_to_menu. Това е CustomizationContext = NormalTemplate. Опитайте. Работи перфектно. Разбира се трябва да се погрижим за наличието на Sub add_to_menu в Normal.dot. Това лесно може да стане при отворен VB редактор чрез копиране. Ако не копираме този код в Normal.dot няма да е възможно да добавяме думи от кой да е документ към менюто. Всъщност без да навлизам в подробности, принципно е възможно да имаме един и същ списък от думи в контекстните менюта "Text" във всички документи плюс индивидуални списъци от думи за всеки документ. Но дали е целесъобразно в момента не мога да кажа.
И накрая, ако не всичко ви е ясно, и дори ако нищо не ви е ясно, както казват, вината не е във вашия телевизор.


Източник: IDG.BG
Обратно в сайта X

ДОСТЪП ЗА ЛОГНАТИ ПОТРЕБИТЕЛИ За да пишете, оценявате или докладвате коментари, моля логнете се в профила си.

  1. Запомни ме
забравена парола Полетата маркирани с * са задължителни
Полето Потребителско име не трябва да е празно.
Полето E-mail не трябва да е празно.
Полето Парола не трябва да е празно.
Полето Повторете паролата не трябва да е празно.
  1. Декларирам, че съм се запознал с Общите условия за ползване на услугите на Нетинфо.
Полетата маркирани с * са задължителни
Слънцето изненада учените: Звездата ни навлезе в нова фаза, остана без петна за 72 часа

Слънцето изненада учените: Звездата ни навлезе в нова фаза, остана без петна за 72 часа

Любопитно Преди 23 минути

След години на бурни магнитни бури и мощни изригвания, нашето Слънце неочаквано изчисти лицето си, сигнализирайки за преход към по-спокоен цикъл

Адемов: Вдигането на пенсиите и заплатите е в бюджета

Адемов: Вдигането на пенсиите и заплатите е в бюджета

България Преди 24 минути

Проектът за удължителен бюджет гарантира всички социални плащания

Как сръбската мафия превзе бизнеса в РС Македония с марихуана

Как сръбската мафия превзе бизнеса в РС Македония с марихуана

Свят Преди 55 минути

Разследването в момента е съсредоточено върху контрабандата на пет тона марихуана от Северна Македония до Крушевац

Китайците се евакуират "възможно най-бързо" от Иран

Китайците се евакуират "възможно най-бързо" от Иран

Свят Преди 1 час

Призивът идва на фона на засилването на напрежението между Вашингтон и Техеран

Прощаваме се с Асен Шопов

Прощаваме се с Асен Шопов

България Преди 1 час

Неговото име остава завинаги вписано в летописа на Театър „Българска армия“

Уволниха директора на "Медицински надзор" Иванка Динева

Уволниха директора на "Медицински надзор" Иванка Динева

България Преди 1 час

Иванка Динева пое управлението на Изпълнителна агенция „Медицински надзор“ (ИАМН) в края на септември 2023 г., наследявайки на поста проф. Росен Коларов

<p>Зеленски: Готов съм да се срещна с Путин</p>

„Прозорецът се затваря“: Зеленски обяви готовност за среща с Путин, но постави ултиматум за териториите

Свят Преди 1 час

В емоционално интервю за Sky News украинският лидер разкри кога очаква край на войната и защо Славянск и Краматорск са „червената линия“, която Киев никога няма да прекрачи

Андрей Бабиш се радва на резултатите от парламентарните избори в Чехия

Инвитро, бельо и погребални цветя: Невидимата империя на Андрей Бабиш, която контролира живота ни

Свят Преди 1 час

Разследване на POLITICO картографира по-тихия стълб от империята на Андрей Бабиш и регулаторните „бели петна“, които го заобикалят

"Алианс за права и свободи" е регистрирана политическа партия

"Алианс за права и свободи" е регистрирана политическа партия

България Преди 1 час

Партията заявява, че се фокусира върху правата на човека, солидарността и културната идентичност

,

„Изживей България“ се отправя на пътешествие към морския бряг на Приморско

Любопитно Преди 2 часа

Не пропускайте туристическата поредица в събота от 16:00 ч. по NOVA

Ален Симеонов: Заловил съм над 200 педофили – повече от МВР

Ален Симеонов: Заловил съм над 200 педофили – повече от МВР

България Преди 2 часа

Симеонов, известен като ловец на педофили, споделя в подкаста "Телеграфно" детайли от дейността си по разкриване на лица, извършващи престъпления срещу деца

Бебе с тегло почти 6 кг се роди в “Майчин дом”

Бебе с тегло почти 6 кг се роди в “Майчин дом”

България Преди 2 часа

Раждането премина успешно благодарение на координацията на екипа на болницата

Мистерията „Бохемска горичка“: Изтече списъкът на най-секретното общество в света

Мистерията „Бохемска горичка“: Изтече списъкът на най-секретното общество в света

Свят Преди 2 часа

От шефа на Google до съпруга на Нанси Пелоси: Вижте кои са могъщите мъже, които се събират в тайния лагер в Калифорния и какво стои зад ритуала „Изгаряне на грижата“

Тръмп искал Иванка да се омъжи за Том Брейди

Тръмп искал Иванка да се омъжи за Том Брейди

Любопитно Преди 2 часа

В мемоарите си Гавин Нюсъм разкрива как Тръмп публично унижил Джаред Кушнър, оплаквайки се, че Иванка е избрала него пред звездата Том Брейди, с което провалила плановете му за създаване на мощна семейна „династия на властта

<p>Вандали оскверниха статуята на Чърчил в Лондон&nbsp;</p>

"Ционистки военнопрестъпник": Вандали оскверниха статуята на Чърчил в Лондон

Свят Преди 2 часа

Статуята е оградена и тази сутрин е била почистена

<p>Компания, свързана с &quot;Лукойл&quot;, заплашва България с дело -&nbsp;кабинетът подготвя защита</p>

"Литаско" заплашва България с арбитражно дело, кабинетът подготвя защита

България Преди 2 часа

Швейцарската компания, свързана с групата „Лукойл“, твърди, че мерки на българските власти представляват нарушение на инвестиционни споразумения и незаконно отчуждаване без компенсация