Използване на макроси за автоматизиране на задачи

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
Какво трябва да е разширението на един документ, така че да може да се записват макроси в него ?
С разширение .docx
С разширение .doc
С разширение .docm

Въпроси и отговори

  • Защо и кога използваме .dotm / .docm

    Любомир Жипонов:

    Искам да попитам кога използваме .dotm и кога .docm ? Дали съм разбрал правилно - ако си направя template .dotm с текстове ,но вкарам и един, два маркоса в него той става универсален и мога да си го пускам без проблем като шаблон всеки път било то като текстова бланка само или текстова бланка с макроси за форматиране? Има ли смисъл документа ни да е във формат .dotm а не .dotx ,защото след като направим временни файлове в .docm макросите после ги прехвърляме както е на клипа показано към normal.docm и те се четат винаги от всички формати във word или само в тези от .***m ?

    Поля:

    Доколкото разбрах docm е разширението задължително само за макрос,dotm си е в Normal шаблона.

    Краси Кръстев:

     Здравейте и от мен ,


    dotm е формат за шаблон съдържащ в себе си макрос, docm е формат в който запазваш файл в който имаш макрос - поне така аз го разбирам.

    Нещото което ми идва на идея е че реално може да имаш даден template ( dotm от който да тръгнеш и в него да е даден макрос и след това save - вайки го в docm да си казал на word когато правиш от този dotm даден docm да не се закача ( embedded ) макроса и така пращайки на трети лица файла .docm вече макроса да не се препраща и на тях.
  • Как да копирам правилно макрос от един файл в друг?

    Vesela Hristova:

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

    Христина Машева:

    Здравей, ето един начин за копиране на макрос, също така важи за стилове. Трябва да отворим органайзера за темплейти. На втората снимка се вижда органайзера, като в ляво остава файла, в който искаш да прехвърлиш макроса, а в дясно затваряме Normal файла, който е по подразбиране (стъпка 2) и намираме файла, от който искаме да вземем макрос. На третата снимка се вижда вече заредения файл, избираме желания макрос и после Copy. По този начин би трябвало да се получи желаното копиране :)

    Vesela Hristova:

    Благодаря, непременно ще го пробвам!

  • Как се запазват макросите за следващи документи? 

    Юлия Иванова:

    Аз не разбрах най-важното нещо - как да ползвам създадения макрос за други документи и на други компютри? Създадох си макрос на моя компютър с шорткът към него. Отваряйки съвсем нов файл, шорткътът за този макрос действа, без да съм го копирала в новия файл. Не съм пробвала ако пратя файла на друг компютър какво ще стане. Моята цел е да го направя веднъж макроса и да го ползвам поне за всички файлове на компютъра, без допълнителни стъпки. В този случай, акросът къде се сейфа по подразбиране - в стил Нормал ли? И ако е в стил Нормал, това значи ли, че автоматично се ползва за всички файлове на компютъра? И ако някой ми изпрати файл от друг компютър - този файл собствения Нормал стил ли си носи или ще се ръководи от моя нормал? И ако сменя компютъра например, мога ли да си риплейсна стила Нормал в папката на Майкрософт и така да си запазя всички шорткъти и макроси, които съм правила на предния компютър? Въпросите са ми много, така че благодаря, че ще отговорите на всички, а не само на кякои от тях, защото са свързани и много важни за моята работа. Благодаря!

    Краси Кръстев:

    Здравейте, урб. Юлия Иванова.

    Идеята за начина на записване на макроси е следната :

    Правиш един макрос. Ако избереш Alt + F11 следва да отвориш редактора за макроси ( VBA редактора ) в който виждаш всеки един създаден от теб макрос ( снимка 1 )

    Да приемем че в момента имаме два макроса Module 1 и Module 2 ( снимка 1 позиция 1 и съответно 2 )

    Снимка_1


    Каква е разликата между двата макроса ?

    Module 1 както се вижда от снимка 1 стои в структурата на Normal, т.е. този макрос е записан в Normal шаблона - Normal.dotm снимка 2 позиция 1.

    Снимка_2

    Module 2 както се вижда от снимка 2 стои в структурата на Project (M7V1), т.е. настоящия файл, а не в шаблона.


    Ако затворя и след това отворя някой прозиволен документ на Word, то в VBA редактора следва да видя само Module 1 защото той е записан в шаблона Normal.dotm - снимка 3 позиция 1. Виждаме че това е абсолютно същия макрос( снимка 3 позиция 2 ), както в първия документ, който бяхме отворили.

    Снимка_3

    Module 2 обаче го няма.Няма го защото не е записан в Normal шаблона, който присъства във всеки един файл, ами е бил записан конкретно за файла M7V1. T.e. той се съдържа само във файла M7V1.

    Подчертавам за да имаме файл в който е записан макрос само за файла ( т.е. не е в Normal шаблона ) той трябва да е с разширение .docm или .dotm .


    И сега

    Как може да ползвате макроса на други компютри ?

    Вариант 1:

    Ако сте го направили в самия документ, ( с разширение на документа .docm или .dotm ) то той се пази там и ако го изпратите на трети лица или пък сте го качили като шаблонен файл на някой сървър от които да изхождате като начален файл следва да може да се ползва този макроса във рамките на сървъра или от трети лица ако файла е изпратен.ПОдчертавам обаче пак това е шаблон само за дадения файл.

    Ето как ( снимка 4 позиция 1 и 2 ) би излеждал препратен файла на трети лица.

    Снимка_4

    Сега ако не работите на сървър и искате да ползвате макроса за друг документ, просто вземете и го преместете ( копирайте - снимка 5 позиция 1 и 2 ) в Normal, така вече ( трето лице ) ще качим макроса в Normal шаблона на компютъра си ( снимка 6 )

    Снимка_5

    Снимка_6

    и ще може да го ползва за всички файлове.

    Вариант 2:

    Ако ползвате сървър може да качите Normal шаблона в папка на server -a и да нагласите Word да "гледа" към този шаблон, а не този на компютъра Ви.

    Така записвате макросите си в него и съответно те ще са валидни за всеки един файл който отваряте.Т.е. ще са приложими за всички файлове.

    Вариант 3:

    Ако сте записали файла в Normal шаблона, може просто да си вземете Normal шаблона да го копирате и да го замените с Normal шаблона на другия компютър.


    Заключение: Това е горе долу идеята. Да се прави разлика къде точно е записан макроса, да се знае, че ако е записан за документа изпращайки документа ( с разширение dotm или docm) изпращаме и съдържащия се макрос в него.За да ползваме за всеки един документ даден макрос той трябва да е в шаблона ни Normal.


    Надявам се да съм бил полезен с отговора.

  • Възможно ли е сравнително търсене?

    Venko Stoev:

    Търся начин, чрез който с търсачка да остановя статистика на най-повтаращите се думи в даден текст. Но не искам във find с конкретна, а да излезе дирвктно коя е най-повтаряната дума в целия текста, коя е втора по повтаряемост и пр. Можеби за целта е нужен макрос? Знам, че моаже дума по дума, но в рботата ми ще ми бъде много полезно ако мога с един клик да остановя класацията на топ 5 най-повтарящи се думи в ткста.

    Краси Кръстев:

    Здравейте,

    Първо интересен и нестандартен въпрос. Интересно ми е, ако не е проблем за вас да споделите в каква ситуация искате да използвате тази "статистика" .

    Както и предполагате това следва да стане на база код ( VBA ).

    Споделям един файл, които е със разширение .dotm в който template - тен файл се съдържа макроса който може съответно да ти свърши работа.

    Тук : Count_words_in_word

    Как работи?

    Отваряте Template - ния файл може да го сложите в папката с Custom Templates или да го сложите да се зарежда директно всеки път.Това оставям на вашата преценка. Няма да влизам в подробности в курса има урок в който работата с template - и е обяснена :).

    След като отворим съответно файла, ако имате включено Protect View съответно или го премахнете предварително или изберете на Enable Editing ( Снимка 1 позиция 1 ).

    Снимка_1

    Същото се отнася и за протекцията спрямо макросите , изберете съответно Enable Content ( снимка 2 позиция 1 )

    Снимка_2

    След което в раздела Add ins ( снимка 3 позиция 1 ), има една иконка Process report ( снимка 3 позиция 2 ). от която може да стартирате макроса.

    На снимка 3 имам набързо набран текст, за който видно е че най - повтаряната дума в него е дума, но да приемем че не знаем това :) и се чудим коя е най - повтарямнат дума в документа :)

    Снимка_3

    Стартирайки иконката Process report излиза прозореца показан на снимка 4 позиция 1. В който прозорец има доста голям избор от опции.

    Съотвенто в раздела Settings ( снимка 4 позиция 2 ) избираме какво точно искаме да ни се появи като статистика избираме All words ( снимка 4 позиция 3 ), съответно за критерия по който искаме да бъдат сортирана статистиката избираме да е на база честотта ( снимка 4 позиция 4 ) - Sort by Frequency.

    В раздела Output избираме пък къде да бъде поставена информацията, избираме да е в настоящия документ ( снимка 4 позиция 5 ) Appended to current document и кликаме на ОК.

    Снимка_4

    Резултата е вмъкната таблица във Word в която имаме статистика на използваните думи в Word - снимка 5 позиция 1. Като съотвенто най - горе стой най - иползваната дума и съотвентно броя на използването ѝ.

    Снимка_5

    Така че разгледайте опционолнатостта на тази "програмка" ( плъгин ) и мисля че следва да пасне още по - добре на казуса ви, макар да мисля че точно това искате да постигнете като ефект.

    Надявам се да ти влезе в полза и да сме разрешили казуса.