CAFE

한글매크로

아래 한글 수식 관련 매크로 스크립트 (펌)

작성자카페지기|작성시간16.04.02|조회수1,664 목록 댓글 2

애석하게도 워드프로세서인 한글 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%
라고 쓰고 실행하면
① \frac{1}{4} ② \frac{1}{12} ③ \frac{1}{20} ④ \frac{1}{28} ⑤ \frac{1}{36}
이 된다.

 


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 이라고 입력하면 \sqrt{x}=3가 된다. 스크립트 실행 단축키를 alt+` 같은 걸로 설정하면 편리하다.



출처 :

아래 한글 수식 관련 매크로 스크립트 | 내 백과사전


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자번개수학 | 작성시간 16.04.02 감사합니다.
  • 작성자추유호 | 작성시간 17.09.12 스크립트에 궁금한 점이 있어서 검색검색하다가 이 까페까지 왔는데, 제가 예전에 짠 스크립트가 여기에 있을 줄은 몰랐군요-_-
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼