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. Декларирам, че съм се запознал с Общите условия за ползване на услугите на Нетинфо.
Полетата маркирани с * са задължителни
Папа Лъв XIV на историческо посещение в Алжир

Папа Лъв XIV на историческо посещение в Алжир

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

Tова става в момент, когато той е подложен на остри критики от Тръмп

Мадяр: Украйна не може да влезе в ЕС

Мадяр: Украйна не може да влезе в ЕС

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

Мадяр: На първо място, става дума за държава, която е във война

До 18 метеорита на час: Ето кога е пикът на Лириди

До 18 метеорита на час: Ето кога е пикът на Лириди

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

На 19 април се очаква краят на окултацията на звездния куп Плеяди от Луната

Екстрадират български ученик за бомбени заплахи във Франция

Екстрадират български ученик за бомбени заплахи във Франция

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

Тъй като е непълнолетен, ще бъде съден от специализиран съд, а максималното наказание е до 2,5 години

Арестуваха шофьор на камион, умишлено блокирал движението в тунел на АМ „Хемус“

Арестуваха шофьор на камион, умишлено блокирал движението в тунел на АМ „Хемус“

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

Водачът отказал да премести превозното средство или да осигури достъп за изтеглянето му

<p>Почина един от най-ярките и емблематични гласове на българската поп-музика</p>

Почина певицата Маргрет Николова

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

Тя бе един от най-ярките и емблематични гласове на българската поп-музика

Снимката е илюстративна

Капанът на „невидимия труд“: Защо жените са на ръба на силите си

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

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

Украйна отмени препоръката към гражданите да не пътуват до Унгария

Украйна отмени препоръката към гражданите да не пътуват до Унгария

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

Това се случи часове след победата на Петер Мадяр

Германия намалява акциза върху горивата, за да ограничи поскъпването им

Германия намалява акциза върху горивата, за да ограничи поскъпването им

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

Това съобщи германският канцлер Фридрих Мерц

Ново поскъпване на дизела: Цената у нас скочи с 2 евроцента през почивните дни

Ново поскъпване на дизела: Цената у нас скочи с 2 евроцента през почивните дни

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

При бензин A95Н средната цена е 1.48 евро за литър

<p>Откриха 29-годишния Димитър от Девня</p>

Откриха невредим 29-годишния Димитър от Девня

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

Младият мъж беше в неизвестност от четвъртък вечер

Снимката е генерирана с изкуствен интелект

Тръмп с остри критики към папа Лъв и AI изображение, което предизвика бурни реакции

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

Президенът на САЩ обвини римския първосвещеник, че е "слаб" по отношение на борбата с престъпността и "ужасен по отношение на външната политика"

Apple тества четири прототипа на виртуални очила

Apple тества четири прототипа на виртуални очила

Технологии Преди 7 часа

Американската компания работи активно по няколко версии на умни очила, които да съчетават добавена и виртуална реалност и може да са следващата голяма хардуерна категория, към която ще се насочи, за да намали зависимостта си от iPhone