한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

일부 구역에서 수식의 색상과 크기만을 바꾸기 위해서 일일이 수식에 들어가 편집하는 것은 비효율적으로 보인다. 스크립트 매크로를 이용하여 고급스럽게 작업해보자.

다음 예에서 풀이 부분만 파란색에 9pt로 변경하겠다. 

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

↓↓↓↓↓↓

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

일반 텍스트는 블록으로 설정해서 바꾸면 되지만 수식은 바뀌지 않는다.


👀 이제 스크립트 매크로를 만들자. 스크립트 매크로는 키보드로 입력한 모든 내용을 순서대로 기억시킨 후 반복해서 실행시키는 도구이다. 하지만 원하는 결과가 나오지 않는 경우가 많아서 여기에서는 미리 작성한 코드를 제시하려고 한다. 필요한 부분만 수정해서 사용하면 된다.

1. 도구>스크립트 매크로>매크로 정의

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

3. 적당한 단축키에 새 매크로를 배정한다. 본 예시에서는 Alt+1을 새 매크로로 교체하려고 한다. 후에 알아보기 쉽도록 매크로 이름을 바꾸는 것을 잊지 말자.

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

4. 스크립트 매크로 중지(Alt+Shift+X)

5. 기록된 매크로 확인 및 수정

  - 도구>스크립트 매크로>매크로 실행

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

  - 코드 편집(키보드 조작없이 바로 기록 중지를 해서 그림과 같이 코드가 비어있을 것이다.)

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

  - 코드 입력(다음의 코드를 입력하자.)

function OnScriptMacro_수식blue9pt()
{
FindCtrl();
HAction.GetDefault("EquationPropertyDialog", HParameterSet.HShapeObject.HSet);
with (HParameterSet.HShapeObject)
{
BaseUnit = PointToHwpUnit(9.0);      //9pt로 지정
HSet.SetItem("Color", 0xff0000);     //16진법으로 BGR 색상코드 지정
}
HAction.Execute("EquationPropertyDialog", HParameterSet.HShapeObject.HSet);
UnSelectCtrl();
HAction.Run("MoveLeft");             //커서를 왼쪽으로 이동
}

✋ 색상코드에 대한 부연 설명

   Red : 0x0000ff / Green : 0x00ff00 / Yellow : 0x00ffff   등

   HTML 색상코드인 RGB순서의 역순임에 주의

* 참고로 HTML 색상코드는 6자리인데 두 자리씩 끊어서 RED, GREEN, BLUE의 색농도를 16진수로 00부터 FF까지로 나타낸다. 각각의 색상의 농도를 조합하면 빛의 조합에 의한 색상이 나오는 것이다. 
실제 색상 조합은 여기가 괜찮은 것 같다.

6. 매크로 적용

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

7. 마지막 수식의 오른쪽에 커서를 두고 지정한 단축키(여기에서는 Alt+1)를 누르면 역순으로 수식이 바뀐다!

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

function으로 시작하는 매크로 코드의 제목과 매크로 목록의 제목은 일치해야 오류가 나지 않는다. 한컴 매크로 언어에 대한 간단한 예제가 있으면 여러 가지를 시도해보고 싶지만 일단 나는 쓸 일이 별로 없을 것 같다는 것이 함정.

*한글 2007 매크로 사용법(단어 앞에 별표 삽입)입니다. 

1. [도구] - [매크로] - [스크립트 매크로정의]를 선택합니다. 또는 단축키 [Alt + Shift + H]를 동시에 누릅니다.

2. 원하는 단축키에 매크로 이름을 쓰고 “정의”를 누릅니다. 저는 매크로 이름은 “별표삽입”이라고 정의했고, 단축키는 [Alt + Shift + 1]로 설정했습니다.

한글 스크립트 매크로 오류 - hangeul seukeulibteu maekeulo olyu

3. 이전 매크로를 지우고 새 기록을 하시겠습니까? 창이 뜨면 “기록”을 누릅니다.

4. 단어 앞에 별 표시(*)를 입력합니다.

5. 별 표시 앞으로 커서를 이동시키고 F3을 눌러 별 표시를 블록 설정합니다.

6. [Ctrl + C]를 눌러 별 표시를 복사합니다.

7. 키보드 Home 자판을 눌러 커서를 단어 맨 앞으로 이동시킵니다.

8. 키보드 이동키를 사용해서 커서를 아래에 있는 어휘 맨 앞으로 이동시킵니다.

9. 화면에 보이는 매크로 버튼을 눌러 매크로 설정을 종료합니다.

10. 이제 별 표시가 없는 어휘 앞에 커서를 두고, 2번에서 설정했던 단축키 [Alt + Shift + 1]을 누릅니다. 한번 누르면 한 개의 어휘 앞에 별 표시가 됩니다. 10번 누르면 10번이 자동으로 바뀝니다. 계속 누르면 누르는 동안 별표가 삽입됩니다.

11. 한 번의 조작으로 전체를 바꾸고 싶다면 [Shift + Alt + L]을 누릅니다.

12. 위 그림처럼 매크로 반복 횟수에 실행하고 싶은 숫자를 쓰고 실행을 누릅니다. 그러면 써준 숫자만큼 별 표시가 실행됩니다. 단, 이것을 실행하기 위해서는 스크립트 매크로 보안 실행이 낮음으로 되어 있어야 합니다.

*400개가 넘는 어휘 앞에 별표를 붙이는 결과 화면입니다.

*키 매크로가 개인적으로 훨씬 간편했는데, 지금 한글 버전은 실행이 안 돼서 아쉽습니다. 한글 단축기 기능을 익히면 다양한 매크로를 이용해서 더욱 빠른 작업이 가능할 것이니 한 번 익혀서 사용해 보시기 바랍니다.

*오늘의 수능 영어 학습은 위의 설명에서 사용한 macro입니다. macro는 macroinstruction의 줄임말로 알려져 있으며, 여러 명령어를 하나의 명령어로 만들어 간단히 한 것을 말합니다. 보통 macro는 접사로 “긴, 큰, 거대한”의 뜻을 가진 말입니다. 물론 형용사로 “대형의, 대규모의, 거시적인” 의미가 있습니다. 이 어휘는 교육 과정상의 어휘가 아니지만, instruct는 중고등학교 기본 어휘입니다. 이 어휘의 명사형이 사용된 macroinstruction의 용어가 “매크로 명령”을 의미하므로 instruct 의미도 이것으로 기본적인 것을 알 수 있을 것입니다. 

instruct는 “~위에, ~안에”의 뜻을 가진 in과 “쌓아 올리다”는 의미의 struct가 합쳐진 어휘로 “지시하다, 명령하다”는 뜻을 기본적으로 알고 있으면 되겠습니다. 또한, 지식이나 정보를 쌓아 올리게 하려면 누군가가 그것을 가르치고 교육을 해야 할 것입니다. instruct의 의미를 다음과 같이 정리해 봅니다.

instruct: 가르치다, 교육하다, 지시하다, 명령하다

instruction: 교수, 지식, 지시, 명령

macroinstruction: 매크로 명령

매크로가 끊임없이 단순한 작업을 반복한다는 의미로 확장하면 오늘의 두 번째 어휘 constant가 나옵니다.

constant도 중고등학교 기본 어휘로 “con(함께, 완전히) + stant(서 있다)”의 어원에서 이렇게 되려면 “변하지 않은 무엇인가”를 떠올릴 수도 있을 겁니다. constant의 뜻은 다음과 같습니다.

constant: 변함없는, 일정한, 끊임없이 계속되는; 상수, 정수

오늘의 학습을 마칩니다.