ΠœΠ°ΠΊΡ€ΠΎΡ это Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ макрос?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π² Excel — ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ пособиС ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ΠœΠ°ΠΊΡ€ΠΎΡ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… часто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ макроса ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ записью ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ рассмотрСнным Π² тСкстовом процСссорС Word.

Основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ являСтся Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€Π΅. ΠœΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ выполняСмыС дСйствия Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ языка VBA.

Работая с ΠΊΠ½ΠΈΠ³ΠΎΠΉ Excel, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько макросов. ВсС ΠΎΠ½ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² VBA-ΠΌΠΎΠ΄ΡƒΠ»Π΅. Запуск макроса выполняСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… способов:

  • с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «Π³ΠΎΡ€ΡΡ‡ΠΈΡ…» клавиш;
  • посрСдством Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠΌΠ΅Π½ΠΈ макроса Π² мСню;
  • Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ графичСскому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, связанному с макросом.

Начало записи макроса

  1. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ мСню БСрвис/Π—Π°ΠΏΠΈΡΡŒ макроса. ../ΠΠ°Ρ‡Π°Ρ‚ΡŒ запись… .
  2. Π’ ΠΎΠΊΠ½Π΅ «Π—Π°ΠΏΠΈΡΡŒ макроса» ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя макроса.
  3. Если запуск макроса планируСтся Ρ‡Π΅Ρ€Π΅Π· мСню ΠΈΠ»ΠΈ «Π³ΠΎΡ€ΡΡ‡ΠΈΠ΅» клавиши, Ρ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹» ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ имя ΠΏΡƒΠ½ΠΊΡ‚Π° мСню ΠΈΠ»ΠΈ (ΠΈ) сочСтаниС клавиш.
  4. НаТмитС «Ok». ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π½Π°Ρ‡Π°Π»Π° записи β€” появлСниС нСбольшого ΠΎΠΊΠ½Π° с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ «ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись».

Π—Π°ΠΏΠΈΡΡŒ макроса

ΠΠ°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ запись макроса слСдуСт послС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ планирования дСйствий. РСкомСндуСтся ΠΏΠΎΡ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ записываСмых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· запуска ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€Π°. Если ΠΏΡ€ΠΈ записи Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ дСйствиС, слСдуСт ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ» Π½Π° основной ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ записи

  1. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись».
  2. Если запуск макроса планируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ «Π€ΠΎΡ€ΠΌΡ‹» ΠΈ размСститС Π΅Π³ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Для Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ мСню Π’ΠΈΠ΄/ПанСли инструмСнтов.
    .. .ПослС размСщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° «ΠšΠ½ΠΎΠΏΠΊΠ°» откроСтся ΠΎΠΊΠ½ΠΎ «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ трСбуСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя макроса ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ «Ok». Для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ, послС Ρ‡Π΅Π³ΠΎ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макросу» ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ связь с макросом.
  3. ΠžΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ дСйствиС макроса, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ восстановив исходноС состояниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи макроса

ΠŸΡƒΡΡ‚ΡŒ трСбуСтся для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк, содСрТащих числа, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ форматирования Π² числовом Π²ΠΈΠ΄Π΅ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дСсятичного Π·Π½Π°ΠΊΠ°. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ макрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «ΠšΠ½ΠΎΠΏΠΊΠ°».

  1. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠ»Π΅Ρ‚ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ задаСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’Π°ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π΄ΠΎ запуска ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€Π°, Π° Π½Π΅ послС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ макрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ для любого Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ участка. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
  2. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€.Β 
  3. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ мСню Π€ΠΎΡ€ΠΌΠ°Ρ‚/Π―Ρ‡Π΅ΠΉΠΊΠΈ. .. ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Π§ΠΈΡΠ»ΠΎ» Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ числовой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ «Π§ΠΈΡΠ»ΠΎ дСсятичных Π·Π½Π°ΠΊΠΎΠ²» β€” 1.
  4. Π©Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° любой ячСйкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
  5. ΠΠ°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись».
  6. Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ панСль «Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния», Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ «ΠšΠ½ΠΎΠΏΠΊΠ°» ΠΈ, установив ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° свободноС мСсто листа, «Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ надпись Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ стандартной надписи, Π½ΠΎ Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½. ВыдСляСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Esc для закрытия Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ мСню форматирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
  7. Π’ ΠΎΠΊΠ½Π΅ «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ» ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя макроса, связываСмого с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ «Ok».
  8. Π©Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «ΠšΠ½ΠΎΠΏΠΊΠ°», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ макрос ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.
  9. Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ макроса для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… выдСляСмых Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ².

На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ C1:E2, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ макросом, запускаСмым ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ с надписью «Π”Ссятичный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚».


ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы
  1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ макрос?
  2. Каково Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€Π°?
  3. Π“Π΄Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ макросы?
  4. Бколько макросов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?
  5. Бколькими способами ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запуск макроса? ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅ ΠΈΡ….
  6. Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅?
  7. ΠšΠ°ΠΊΠΎΠ²Ρ‹ особСнности записи макроса?
  8. КакиС дСйствия слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ записи макроса?

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ — ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ пособиС ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ВСкстовый процСссор Wordβ€Ž > β€Ž

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹

ΠœΠ°ΠΊΡ€ΠΎΡ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π΄Π°ΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… дСйствий ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Word.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ макросов:

  • ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² ΠΊΠΎΠ½Π΅Ρ† Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ;
  • ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для ΠΏΠΎΠ΄Π³ΠΎΠ½ΠΊΠΈ ΠΏΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ;
  • ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСкстов DOS;
  • ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†;
  • сохранСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… настроСк Word ΠΈ быстроС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ;
  • Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ созданиС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ инструмСнтов.

Основой для записи макроса являСтся язык WordBasic. Для создания ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простых макросов Π·Π½Π°Π½ΠΈΠ΅ этого языка Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи макроса. Π­Ρ‚ΠΈ дСйствия автоматичСски Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° WordBasic.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с макросами ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ этапа:

1) ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ записи макроса;
2) запись ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ макроса;
3) использованиС макроса.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ записи макроса

  1. ΠŸΠΎΡ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ записаны Π² макрос.

  2. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ тСкста, для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ макрос, Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° записи β€” Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Если тСкст Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΎ врСмя записи, Ρ‚ΠΎ макрос Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° эту Ρ‡Π°ΡΡ‚ΡŒ.

  3. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ мСню БСрвис/ΠœΠ°ΠΊΡ€ΠΎΡ/ΠΠ°Ρ‡Π°Ρ‚ΡŒ запись…. Π’ ΠΏΠΎΠ»Π΅ «Π˜ΠΌΡ макроса:» Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ имя макроса.

    Π’ ΠΏΠΎΠ»Π΅ «ΠœΠ°ΠΊΡ€ΠΎΡ доступСн для…» ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

  4. Π’ области «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос» Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠšΠ»Π°Π²ΠΈΡˆΠ°ΠΌ» (Π² ΠΏΠΎΠ»Π΅ «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос») β€” откроСтся ΠΎΠΊΠ½ΠΎ «ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ трСбуСтся Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ макрос. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эта комбинация состоит ΠΈΠ· сочСтания ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… клавиш Alt, Ctrl ΠΈΠ»ΠΈ Shift ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… клавиш. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ стандартных сочСтаний клавиш. Подсказка ΠΎΠ± использовании Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ стандартной появляСтся Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π°.

  5. Π’ ΠΏΠΎΠ»Π΅ «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π²:» ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ» ΠΈ «Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ». ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Π½Π°Ρ‡Π°Π»Π° записи макроса являСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ всСх ΠΎΠΊΠΎΠ½, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· мСню «Π‘Срвис» ΠΈ появлСниС нСбольшой ΠΏΠ°Π½Π΅Π»ΠΈ «Π—Π°ΠΏΠΈΡΡŒ» с двумя ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ: «ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись» ΠΈ «ΠŸΠ°ΡƒΠ·Π°». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, рядом с курсором ΠΌΡ‹ΡˆΠΈ Π² тСкстовом ΠΎΠΊΠ½Π΅ появится ΠΊΠΎΠ½Ρ‚ΡƒΡ€ ΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½Π½ΠΎΠΉ кассСты.

Π—Π°ΠΏΠΈΡΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ макроса

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи манипуляции ΠΌΡ‹ΡˆΡŒΡŽ Π² ΠΏΠΎΠ»Π΅ тСкста ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ курсора, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ тСкста ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ записи макроса выполняСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ «Π—Π°ΠΏΠΈΡΡŒ». ΠŸΡ€ΠΈ этом панСль «Π—Π°ΠΏΠΈΡΡŒ» исчСзаСт, Π° курсор ΠΌΡ‹ΡˆΠΈ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

Записанный макрос ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ тСкст WordBasic. Для этого ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ мСню БСрвис/ΠœΠ°ΠΊΡ€ΠΎΡ/ΠœΠ°ΠΊΡ€ΠΎΡΡ‹…, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ имя макроса ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ». Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ рСдактирования выполняСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Alt + <дСфис> (минус) ΠΈΠ»ΠΈ Ctrl+W.

ИспользованиС макроса

Для запуска макроса Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ (Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ) Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ макросом, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ для Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш.

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ запуска β€” ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ мСню БСрвис/ΠœΠ°ΠΊΡ€ΠΎΡ… с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ макроса ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ».


ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы
  1. Π§Ρ‚ΠΎ называСтся макросом?
  2. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ макросов?
  3. На основС ΠΊΠ°ΠΊΠΎΠ³ΠΎ языка записываСтся макрос?
  4. Как ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ простыС макросы?
  5. Бколько этапов ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с макросами?
  6. Как ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ записи макроса?
  7. Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ макрос?
  8. Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ макрос? — ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Techopedia

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ макрос?

ΠœΠ°ΠΊΡ€ΠΎΡ β€” это автоматизированная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π°, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ наТатия клавиш ΠΈΠ»ΠΈ дСйствия ΠΌΡ‹ΡˆΠΈ. ΠœΠ°ΠΊΡ€ΠΎΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ дСйствий ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΈ прилоТСниях для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ MS Excel ΠΈ MS Word.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° макроса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ .MAC.

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ макросов Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстна Π³Π΅ΠΉΠΌΠ΅Ρ€Π°ΠΌ MMORPG (ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ€ΠΎΠ»Π΅Π²Ρ‹Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Ρ‹) ΠΈ спСциалистам ΠΏΠΎ SEO (поисковая оптимизация). Π’ ΠΌΠΈΡ€Π΅ программирования макросы β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сцСнарии, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°.

Π’Π΅Ρ€ΠΌΠΈΠ½ «макрос» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «макроинструкция» (длинная инструкция).

Π Π΅ΠΊΠ»Π°ΠΌΠ°

Techopedia ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ макрос

Запустив макрос, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя простоя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ тратится Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡. НСкоторыС макросы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² MS Excel, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠœΠ°ΠΊΡ€ΠΎΡ Excel ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаСтся ΠΏΡƒΡ‚Π΅ΠΌ записи ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдства записи макросов. Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual Basic (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π°ΠΆΠ΅ записанный макрос состоит ΠΈΠ· ΠΊΠΎΠ΄Π° Visual Basic).

Доступ ΠΊ сохранСнному макросу ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· списка мСню ΠΈΠ»ΠΈ с ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ простым Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΡΡ‡ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ макросу для Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ быстрого доступа. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ макросы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ автоматичСски ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ для создания макровирусов.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ…

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ… благодаря массовым ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Ρ€ΠΎΠ»Π΅Π²Ρ‹ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Π°ΠΌ (MMORPG) с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния Ultima Online Π² 1997. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ использовались, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ пСрсонаТу Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ, ΠΏΠΎΠΊΠ° ΠΈΠ³Ρ€ΠΎΠΊ Π±Ρ‹Π» Π²Π΄Π°Π»ΠΈ ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Однако Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ макросы стали ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС сочСтаний клавиш ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€Π°Ρ…. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ нСсколько клавиш Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ порядкС для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ способности, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ макрос для выполнСния этого дСйствия с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Fortnite ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡˆΡƒΡ‚Π΅Ρ€Π°Ρ… ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π»ΠΈΡ†Π° (FPS), Π³Π΄Π΅ врСмя ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, использованиС макросов часто рассматриваСтся ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°, особСнно Π² ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…. На самом Π΄Π΅Π»Π΅, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ выполнСния дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π±Ρ‹Π»ΠΈ Π±Ρ‹ слишком слоТны для выполнСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ Π·Π° Π΄ΠΎΠ»ΠΈ сСкунды.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π² SEO

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСциалистами ΠΏΠΎ SEO для автоматичСского выполнСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡. НапримСр, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для форматирования ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСгулярно загруТаСтся Π½Π° Π²Π΅Π±-сайт, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Ρ‹ событий, Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ напоминания ΠΈ Ρ‚. Π΄. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для автоматичСского обновлСния элСктронных Ρ‚Π°Π±Π»ΠΈΡ† Excel ΠΈΠ»ΠΈ рСгулярной рассылки элСктронных писСм Π½Π° партнСрскиС Π²Π΅Π±-сайты для размСщСния ссылок ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠΌΠΈ.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ макросы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ присвоСно имя. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ это имя, выполняСтся содСрТимоС макроса. Они ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π Π΅ΠΊΠ»Π°ΠΌΠ°

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ макроса (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°) ΠΈ синонимы макроса (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°) (английский)

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ макросов jEdit

ΠœΠ°ΠΊΡ€ΠΎΡ (ΠΎΡ‚ грСчСского μακρό для «большой» ΠΈΠ»ΠΈ «дальний») Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ β€” это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΠ»ΠΈ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ опрСдСлСнная входная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (часто ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов). Π½Π° Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Ρ‚Π°ΠΊΠΆΠ΅ часто ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов) Π² соотвСтствии с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ сопоставлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚) использованиС макроса Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, извСстСн ΠΊΠ°ΠΊ

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ макроса . БрСдство для написания макросов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдоставлСно ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ языка программирования. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС макросы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ с использованиСм прилоТСния ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ. Π’ послСднСм случаС ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт программисту ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ языки для ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

Π­Ρ‚ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдоставлСния программисту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… инструкций Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ программирования ΠΌΠ΅Π½Π΅Π΅ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΠΉ ошибкам. [1] [2]

(Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ «макросами», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ символов). ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° условного ассСмблСра, ΠΈ использовались для создания Ρ†Π΅Π»Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² соотвСтствии с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠ°ΠΊ опСрационная систСма, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹. Π’Π΅Ρ€ΠΌΠΈΠ½ происходит ΠΎΡ‚ «макроинструкции», ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ использовались ΠΏΡ€ΠΈ создании ΠΊΠΎΠ΄Π° Π½Π° языкС ассСмблСра.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅

  • 1 ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ
    • 1.1 ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сцСнарии
      • 1.1.1 ΠœΠ°ΠΊΡ€ΠΎΠ²ΠΈΡ€ΡƒΡ
  • 2 ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π·Π°ΠΌΠ΅Π½Ρ‹ тСкста
    • 2.1 ВстраиваСмыС языки
  • 3 ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ макросы
  • 4 БинтаксичСскиС макросы
    • 4.1 ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Ρ€Π°Π½Π½Π΅Π³ΠΎ Лиспа
    • 4.2 ГигиСничСскиС макросы
    • 4.3 ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
  • 5 ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ для машинно-нСзависимого ПО
  • 6 Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅
  • 7 ΠšΠ°Ρ‚Π°Π»ΠΎΠΆΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π°

Β  ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ макросы ΠΌΡ‹ΡˆΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш ΠΈ дСйствий ΠΌΡ‹ΡˆΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш ΠΈ дСйствий ΠΌΡ‹ΡˆΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΌΡ‹ΡˆΠΈ. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для создания этих макросов Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€Π°ΠΌΠΈ.

Π’ 1980-Π΅ Π³ΠΎΠ΄Ρ‹ макропрограммы – ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ SmartKey, Π·Π°Ρ‚Π΅ΠΌ SuperKey, KeyWorks, Prokey – Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ популярны, сначала ΠΊΠ°ΠΊ срСдство автоматичСского форматирования сцСнариСв, Π° Π·Π°Ρ‚Π΅ΠΌ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ основаны Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ TSR ( Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹ΠΌ ) ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ ΠΊΠΎ всСм Π²Π²ΠΎΠ΄Π°ΠΌ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ контСкстС это происходило. Они Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни устарСли послС появлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, управляСмого ΠΌΡ‹ΡˆΡŒΡŽ, ΠΈ доступности макросов ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ Π² Ρ‚Π°ΠΊΠΈΡ… прилоТСниях, ΠΊΠ°ΠΊ тСкстовыС процСссоры ΠΈ элСктронныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ макросы ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊ прилоТСниям.

ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ макросы Π² послСднСС врСмя появились ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ эксплуатации экономики ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€ΠΎΠ»Π΅Π²Ρ‹Ρ… ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€ (MMORPG). НСустанно выполняя скучныС, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ риска, ΠΈΠ³Ρ€ΠΎΠΊ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ макрос, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ большоС количСство ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π²Π°Π»ΡŽΡ‚Ρ‹ ΠΈΠ»ΠΈ рСсурсов. Π­Ρ‚ΠΎΡ‚ эффСкт Π΅Ρ‰Π΅ большС, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ макросы, управляСт нСсколькими ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ записями ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ»ΠΈ управляСт ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ записями большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. Π’Π°ΠΊ ΠΊΠ°ΠΊ эти дСньги Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±Π΅Π· участия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π·ΠΊΠΎ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ экономику ΠΈΠ³Ρ€Ρ‹. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ использованиС макросов являСтся Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ TOS ΠΈΠ»ΠΈ EULA Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° MMORPG, ΠΈ администраторы MMORPG Π²Π΅Π΄ΡƒΡ‚ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π²ΠΎΠΉΠ½Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ макросов. [3]

Β  ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сцСнарии

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΡ‹ΡˆΠΈ, созданныС с использованиСм встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ макросов прилоТСния, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ макросами ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ . Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ выполнСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ дСйствия. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² основС макроязык программирования, Ρ‡Π°Ρ‰Π΅ всСго язык сцСнариСв, с прямым доступом ΠΊ функциям прилоТСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Emacs (сокращСниС ΠΎΡ‚ Β«Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ макросов») Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ эту идСю Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°. По сути, большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° состоит ΠΈΠ· макросов. Emacs ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ разрабатывался ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ макросов Π½Π° языкС рСдактирования TECO; ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ½ Π±Ρ‹Π» пСрСнСсСн Π½Π° Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ Лиспа.

Π”Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ программиста, Vim (ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ vi), Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ макросов. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² рСгистр (макрос) Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ макросы VBA для Microsoft Office. Vim Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ язык сцСнариСв ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Vimscript [4] для создания макросов. [5]

Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (VBA) β€” это язык программирования, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Microsoft Office ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния. Однако Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π·Π²ΠΈΠ»ΠΈΡΡŒ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ макроязыки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Β  ΠœΠ°ΠΊΡ€ΠΎΠ²ΠΈΡ€ΡƒΡ

Основная ΡΡ‚Π°Ρ‚ΡŒΡ: ΠœΠ°ΠΊΡ€ΠΎΠ²ΠΈΡ€ΡƒΡ (Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ)

VBA ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Microsoft Windows ΠΈ выполняСтся ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ вирусы Π½Π° языкС VBA, ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстныС ΠΊΠ°ΠΊ макровирусы. Π’ сСрСдинС-ΠΊΠΎΠ½Ρ†Π΅ 1990-Ρ… ΠΎΠ½ стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых распространСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… вирусов. Однако Π² ΠΊΠΎΠ½Ρ†Π΅ 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎ настоящСС врСмя Microsoft исправляСт ΠΈ обновляСт свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, соврСмСнныС антивирусныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌ Π°Ρ‚Π°ΠΊΠ°ΠΌ.

Β  ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ подстановки тСкста

Π’Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ C ΠΈ язык ассСмблСра, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€ΡƒΠ΄ΠΈΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹Π΅ систСмы макросов, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ прСпроцСссоры для компилятора ΠΈΠ»ΠΈ ассСмблСра. ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ прСпроцСссора C Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого тСкстового поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², Π° Π½Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ символов. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ использованиС макросов β€” Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ систСмС Π½Π°Π±ΠΎΡ€Π° тСкста TeX ΠΈ Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ…, Π³Π΄Π΅ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ основана Π½Π° макросах. MacroML β€” это ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ систСма, которая пытаСтся ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ макросистСмы. Π’ Nemerle Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ синтаксичСскиС макросы, ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… способов ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти синтаксичСскиС макросы β€” это многоэтапноС вычислСниС. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

  • m4 β€” это слоТный Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ макропроцСссор.
  • ПРОЀ
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ макроса TAL, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ язык Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² шаблона
  • SMX, для Π²Π΅Π±-страниц
  • ML/1 Macro Language One
  • ΠœΠ°ΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния β€” это контСкстный макропроцСссор сопоставлСния шаблонов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, EBNF ΠΈ AWK
  • БАМ76
  • minimac, ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ макропроцСссор.
  • troff ΠΈ nroff для Π½Π°Π±ΠΎΡ€Π° ΠΈ форматирования справочных страниц Unix.

Β  ВстраиваСмыС языки

НСкоторыС языки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PHP, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ встроСны Π² тСкст ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠ»ΠΈ исходный ΠΊΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ распознавания Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² скобки ΠΈ ?> ) ΠΏΠΎΡ…ΠΎΠΆ Π½Π° язык тСкстовых макросов, Π½ΠΎ ΠΎΠ½ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅, ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ языки.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅: Π―Π·Ρ‹ΠΊ ассСмблСра#ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

Β  ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ макросы

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π½Π° языкС PL/I написаны Π² подмноТСствС самого PL/I: компилятор выполняСт Β«ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ прСпроцСссора» Π²ΠΎ врСмя компиляции, ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ этого выполнСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ язык Π² качСствС языка макросов Π΄Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ макросы подстановки тСкста, Π·Π° счСт Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ компилятора.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΊΠ°Π΄Ρ€ΠΎΠ² Frame Technology ΠΈΠΌΠ΅ΡŽΡ‚ собствСнный синтаксис ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ тСкст Π½Π° любом языкС. КаТдая Ρ€Π°ΠΌΠ° являСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΡƒΠ·Π»ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ сСбя со своими Ρ„Ρ€Π΅ΠΉΠΌΠ°ΠΌΠΈ подсборок (рСкурсивный процСсс, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΏΠΎΠ΄ΡƒΠ·Π»ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ высокого уровня). Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ исходныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. ЀрСймовая тСхнология позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСния ΠΏΠΎΡ…ΠΎΠΆΠΈΡ…, Π½ΠΎ слСгка ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² β€” ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ страдаСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° изобрСтСния макросов ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков ассСмблСра ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ срСдства ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… макросов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° N Ρ€Π°Π· для развСртывания Ρ†ΠΈΠΊΠ»Π°; Π½ΠΎ Ρƒ Π½ΠΈΡ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ синтаксис, Ρ‡Π΅ΠΌ Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка ассСмблСра.

Β  БинтаксичСскиС макросы

БистСмы макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ абстрактных синтаксичСских Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ синтаксичСскими макросами ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π»Π΅ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ макросистСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ описанный Ρ€Π°Π½Π΅Π΅ прСпроцСссор C, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ лСксичСских лСксСм, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π»Π΅ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру. НаиболСС ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСм синтаксичСских макросов Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² языках, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Лиспу, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Common Lisp, Scheme, ISLISP ΠΈ Racket. Π­Ρ‚ΠΈ языки особСнно подходят для этого стиля макросов ΠΈΠ·-Π·Π° ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ синтаксиса Π² скобках (извСстного ΠΊΠ°ΠΊ S-выраТСния). Π’ частности, Π΅Π΄ΠΈΠ½Ρ‹ΠΉ синтаксис ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² макросов. ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Лиспа ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ саму структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ языка, доступного для выраТСния Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. Π₯отя синтаксичСскиС макросы Ρ‡Π°Ρ‰Π΅ всСго Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² языках, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Lisp, ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Dylan, Scala ΠΈ Nemerle.

Β  Π Π°Π½Π½ΠΈΠ΅ макросы Лиспа

Π‘Π°ΠΌΡ‹Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ макросы Лиспа ΠΈΠΌΠ΅Π»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ FEXPR, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ Π½Π΅ значСния, вычисляСмыС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π° скорСС синтаксичСскиС Ρ„ΠΎΡ€ΠΌΡ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ значСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² вычислСниС. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, FEXPR Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎ ΠΈ EVAL, ΠΈ прСдоставили ΠΎΠΊΠ½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠ΅Ρ‚Π°ΠΎΡ†Π΅Π½ΠΊΠΈ. Π’ Ρ†Π΅Π»ΠΎΠΌ оказалось, Ρ‡Ρ‚ΠΎ это слоТная модСль для эффСктивного рассуТдСния [6] .

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ, Π±ΠΎΠ»Π΅Π΅ поздняя функция Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ DEFMACRO, систСма, которая позволяла программистам Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ прСобразования ΠΌΠ΅ΠΆΠ΄Ρƒ исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Π΄ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β  ГигиСничСскиС макросы

Основная ΡΡ‚Π°Ρ‚ΡŒΡ: ГигиСничСскиС макросы

Π’ сСрСдинС Π²ΠΎΡΡŒΠΌΠΈΠ΄Π΅ΡΡΡ‚Ρ‹Ρ… Π³ΠΎΠ΄ΠΎΠ² Π² рядС статСй [7] [8] Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ понятиС гигиСничСского ΠΌΠ°ΠΊΡ€ΠΎΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ( синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° ), шаблон -систСма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ синтаксичСская срСда опрСдСлСния макроса ΠΈ Π΅Π³ΠΎ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ макросов ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΌ Π·Π°Ρ…Π²Π°Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (см. ΡΡΡ‹Π»ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ). ГигиСничСскиС макросы стандартизированы для Scheme Π² стандартах R5RS ΠΈ R6RS. Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ стандарт R7RS Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ гигиСничСскиС макросы. БущСствуСт ряд ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ гигиСничСских макросов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ 9.0171 синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° , синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° , явноС ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ синтаксичСскиС замыкания. Оба ΠΈΠ· синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ синтаксичСского рСгистра Π±Ρ‹Π»ΠΈ стандартизированы Π² стандартах Π‘Ρ…Π΅ΠΌΡ‹.

Ряд языков, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Scheme, Π»ΠΈΠ±ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ гигиСничСскиС макросы, Π»ΠΈΠ±ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ частично гигиСничСскиС систСмы. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Scala, Julia, Dylan ΠΈ Nemerle.

Β  ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΡ†Π΅Π½ΠΊΠΈ
ΠœΠ°ΠΊΡ€ΠΎΡΠΈΡΡ‚Π΅ΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° порядка вычислСния (см. Π»Π΅Π½ΠΈΠ²ΠΎΠ΅ вычислСниС ΠΈ нСстрогиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ синтаксичСскиС конструкции (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры), Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΡ‹Π΅ ΠΎΡ‚ встроСнных Π² язык. НапримСр, Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π΅ Лиспа cond , Π½ΠΎ отсутствуСт , Ссли , ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ послСднСС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ макросов. НапримСр, Π² Scheme Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ продолТСния, Ρ‚Π°ΠΊ ΠΈ гигиСничСскиС макросы, Ρ‡Ρ‚ΠΎ позволяСт программисту ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС абстракции управлСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ конструкции Ρ€Π°Π½Π½Π΅Π³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π±Π΅Π· нСобходимости Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² язык.
ΠŸΠΎΠ΄ΡŠΡΠ·Ρ‹ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ языки
Π”Π°Π»Π΅Π΅, макросы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ языки Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ конструкции, ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ СстСствСнным ΠΈ эффСктивным способом. [9]
Π‘Π²ΡΠ·ΡƒΡŽΡ‰ΠΈΠ΅ конструкции
ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ввСдСния Π½ΠΎΠ²Ρ‹Ρ… ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… конструкций. Π‘Π°ΠΌΡ‹ΠΉ извСстный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡƒΡΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π€Π΅Π»Π»Π΅ΠΉΠ·Π΅Π½ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ [10] , Ρ‡Ρ‚ΠΎ эти Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основноС допустимоС использованиС макросов Π² Ρ‚Π°ΠΊΠΎΠΉ систСмС. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования макросов, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ анафоричСскиС макросы Π² макросистСмах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅Π³ΠΈΠ³ΠΈΠ΅Π½ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π΅Π³ΠΈΠ³ΠΈΠ΅Π½ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.

ВзаимодСйствиС макросов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ исслСдований. НапримСр, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ³ΠΎ программирования, Π½ΠΎ взаимодСйствиС макросов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… конструкций Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ для ΠΈΡ… совмСстного использования. БистСмы ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с макросами, Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ для Scheme ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков с макросами. НапримСр, язык Racket Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ понятиС систСмы макросов Π΄ΠΎ синтаксичСской башни, Π³Π΄Π΅ макросы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° языках, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… макросы, с использованиСм Π³ΠΈΠ³ΠΈΠ΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ синтаксичСскиС слои Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, ΠΈ позволяя модулям ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ макросы Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Β  ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ для машинно-нСзависимого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для сопоставлСния ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ строки (Π²Ρ‹Π·ΠΎΠ²Π° макроса) с Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ инструкций. Π”Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΠ΅Π½Π΅Π΅ распространСнный способ использования макросов β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅: ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций со строкой макроса. Π­Ρ‚ΠΎ Π±Ρ‹Π» ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, принятый Π² мобильной систСмС программирования STAGE2, которая использовала Ρ€ΡƒΠ΄ΠΈΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹ΠΉ компилятор макросов (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ SIMCMP) для сопоставлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° инструкций Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ , нСзависимым ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ 9.0046 макросы. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π² частности, компиляторы), написанныС Π² этих машинно-нСзависимых макросах, ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, оснащСнном элСмСнтарным компилятором макросов. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, запускаСмоС Π² Ρ‚Π°ΠΊΠΎΠΌ контСкстС, прСдставляСт собой Π±ΠΎΠ»Π΅Π΅ слоТный ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ компилятор макросов, написанный Π½Π° машинно-нСзависимом языкС макросов. Π­Ρ‚ΠΎΡ‚ компилятор макросов примСняСтся ΠΊ самому сСбС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ самого сСбя. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слоТныС прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пСрСнСсСны с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с ΠΎΡ‡Π΅Π½ΡŒ нСбольшими усилиями (для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° достаточно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ элСмСнтарный компилятор макросов).

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *