애석하게도 워드프로세서인 한글 2007을 쓸 일이 많은데, 본인이 만든 매크로 스크립트를 써 둔다. 뭐 필요한 사람이 있을지는 의문이지만-_-
아래 스크립트는 수학 문제의 선택 보기 다섯 개를 자동으로 생성해주는 스크립트다. 숫자 하나만 쓰고 실행하면 그 숫자를 초항으로 하는 공차 1인 등차수열로 다섯 개의 보기를 생성한다. 숫자를 두 개 쓰면 첫 번째 숫자가 초항이고 두 번째 숫자가 공차인 등차수열이 된다. 숫자를 두 개 쓰고 뒤쪽에 수식과 %를 쓰면 그 등차수열을 %에 넣어준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | HAction.Run("MoveSelLineBegin"); //줄의 맨 앞까지 선택 블럭 만듬var text = GetTextFile("TEXT", "saveblock"); //선택된 블럭을 문자열로 저장text=text.replace(/[\r|\n]/g,''); //개행문자 제거var strArray = text.split(' ');var circleNumber= ["① ","\t\t② ","\t\t③ ","\t\t④ ","\t\t⑤ "];strArray[0]*= 1;if(strArray.length == 1) //입력이 하나인 경우{ strArray[1]=1;}else //입력이 둘 이상인 경우{ strArray[1]*= 1; //문자형에서 정수형으로 변수 타입 변화}if(strArray.length != 3) //입력이 둘 이하인 경우 초기화{ strArray[2]="%";}var i;for(i=0;i<5;i++){ HAction.GetDefault("InsertText", HParameterSet.HInsertText.HSet); HParameterSet.HInsertText.Text = circleNumber[i]; HAction.Execute("InsertText", HParameterSet.HInsertText.HSet); HAction.GetDefault("EquationCreate", HParameterSet.HEqEdit.HSet); with (HParameterSet.HEqEdit) { String = strArray[2].replace('%',strArray[0]+strArray[1]*i); } HAction.Execute("EquationCreate", HParameterSet.HEqEdit.HSet);} |
예를 들어
4
라고 쓰고 실행하면
① 4 ② 5 ③ 6 ④ 7 ⑤ 8
이 자동으로 만들어진다.
4 8
이라고 쓰고 실행하면
① 4 ② 12 ③ 20 ④ 28 ⑤ 36
이 된다.
4 8 1over%
라고 쓰고 실행하면
① ②
③
④
⑤
이 된다.
2015.8.26
대충-_- 한글로 쓰고 실행하면 수식으로 바꾸는 스크립트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | HAction.Run("MoveSelPrevWord");var text = GetTextFile("TEXT", "saveblock");var k_list =['ㅁ','ㅠ','ㅊ','ㅇ','ㄷ','ㄹ','ㅎ','ㅗ','ㅑ','ㅓ','ㅏ','ㅣ','ㅡ','ㅜ','ㅐ','ㅔ','ㅂ','ㄱ','ㄴ','ㅅ','ㅕ','ㅍ','ㅈ','ㅌ','ㅛ','ㅋ'];var e_list =['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];var k_list2 =['‘','툐','냐ㅜ','챈','ㅅ무','앳','솓','뮤','챡'];var e_list2 =['\'','xy','sin','cos','tan','dot','the','ab','cir'];text=text.replace('1. ','');text=text.replace(/\./g,' '); //쩜을 공백으로text=text.replace(/[\r|\n]/g,''); //개행문자 제거var i;for(i=0;i<k_list2.length;i++){ text=text.replace(RegExp(k_list2[i], "g"), e_list2[i]);}for(i=0;i<26;i++){ text=text.replace(RegExp(k_list[i], "g"), e_list[i]);}HAction.Run("Delete");HAction.GetDefault("EquationCreate", HParameterSet.HEqEdit.HSet);with (HParameterSet.HEqEdit){ String = text;}HAction.Execute("EquationCreate", HParameterSet.HEqEdit.HSet); |
예를 들어 ㅌ=3 이라고 쓰고 실행하면 x=3이라는 수식으로 바꿔준다. 쩜이 수식입력기 내에서 띄어쓰기 역할을 한다. 예를 들어 ㄴㅂㄳ.ㅌ=3 이라고 입력하면 가 된다. 스크립트 실행 단축키를 alt+` 같은 걸로 설정하면 편리하다.