728x90

목차

목차

목차

목차

목차

목차

1. Send, {AppsKey} - 메뉴키

2. 브라우져 컨트롤하는 변수들

3. 운영체제의 마스터볼륨 컨트롤

4. 재생 컨트롤 버튼

 

 

Send의 방대한 기능 중 팁이라고 생각되는 기능들을 정리했습니다.

이번 기회에 못다룬 기능 중에 재미있는 건 다른 기회에 다시 다루어 보겠습니다.

 

1. Send, {AppsKey} - 메뉴키

 

키보드의 menu 버튼에 해당합니다.

보통은 여기에 해당하는 기능 자체가 없고 마우스 오른쪽키와 브라우져의 메뉴를 섞어 논 느낌입니다.

 

← 굳이 따지면 이녀석에 가장 가깝습니다.

 

파일탐색기를 열고 아무파일을 선택하지 실행시키면 이렇게 마우스 오른쪽 버튼을 누른것과 같습니다.

하지만 파일을 선택하거나 주소를 선택하는 등 어딜 선택하느냐에 또 프로그램에서 메뉴버튼을 지원하는 경우에는 그걸 우선적으로 실행합니다.

 

 

320x100

 

 

2. 브라우져 컨트롤하는 변수들

 

인터넷창의 "뒤로가기", "앞으로가기", "새로 고침"등을 컨트롤합니다.

우선 인터넷 익스플로어, 마이크로 소프트 엣지 같은 윈도우 기본 지원 브라우저 뿐 아니라 크롬, 오페라 같은 외부 브라우져도 작동하는 것을 확인했습니다.

많이 사용하지 않아도 취향에 따라 바로가기 키로 등록할 만한 기능들이라고 생각합니다.

 

  • {Browser_Back} : 브라우저의 "뒤로가기" 버튼
  • {Browser_Forward} : 브라우저의 "앞으로 가기" 버튼
  • {Browser_Refresh} : 브라우저의 "새로고침" 버튼
  • {Browser_Stop} : 브라우저의 "정지" 버튼
  • {Browser_Home} : 브라우저의 홈페이지 버튼

 

Send키와 조합해서 써야 합니다.

Send, {Browser_Home}

 

 

3. 운영체제의 마스터볼륨 컨트롤

 

어차피 AUTO HOT KEY의 운영체제는 Window입니다.

마스터 볼륨을 조정할 수 있는 명령어입니다.

 

  • {Volume_Mute} : 마스터 볼륨 음소거. 음소거 상태에서 한번더 실행하면 음소거 해제.
    보통 SoundSet, +1, , mute와 동등함.
  • {Volume_Down} : 마스터 볼륨을 줄입니다. 연속으로 실행하면 계속 줄입니다. 보통 SoundSet -5와 동등.
  • {Volume_Up} : 마스터 볼륨을 높입니다. 연속으로 실행하면 계속 늘립니다. 보통 SoundSet +5와 동등함.

 

Window 10 같은경우에는 이런 마스터 볼륨 창이 화면에 뜨게 됩니다.

 

 

 

4. 재생 컨트롤 버튼

 

이번에는 동영상 플레이어용 명령어입니다.

요즘에는 음악플레이어 사용하시는 분이 많나 모르겠네요.

윈도우 미디어 플레이어를 포함 각종 동영상 재생 프로그램에 사용할 수 있고,

유튜브를 재생중인 브라우져를 선택하고 실행하면 동작합니다.

 

  • {Media_Next} : 미디어 플레이어에서 다음 목록 재생
  • {Media_Prev} : 미디어 플레이어에서 이전 목록 재생
  • {Media_Stop} : 미디어 플레이어 중지버튼
  • {Media_Play_Pause} : 미디어 플레이어 일시정지/다시 재생

 

브라우져나 동영상 플레이어가 필요한 기능들은 활성화가 안된경우 그냥 실행되지 않습니다.

하지만 프로그램 상태에 따라 예상하지 못한 동작을 할 수 있습니다.

이럴때를 대비해서 논리식등 안전키를 넣어두는게 좋습니다.

그런 기능에 대해서도 기회가 되면 포스팅 하도록 하겠습니다.

 


이외에도 다양한 기능이 있습니다.

필요하다 싶으면 포럼이나 다양한 커뮤니티를 이용해서 검색해서 찾는 버릇을 키웁시다.

직접 잘 짜시는 실력파도 있지만 저같은 저랩은 검색으로 배우는게 실력이 늘더라고요.

 

 

 

반응형
728x90
목차

1. SendRaw : 로우모드

2. SendInput : 빠르게 입력하기

3. SendPlay : 방해금지 입력

4. SendMode : 모드 변경하기

5. SetKeyDelay : 키의 딜레이를 제어

 

 

오토핫키의 Send 명령어는 기본 기능만으로 방대해서 한번에 익히기가 어려울 수 있습니다.

특히나 정말로 Send 만 잘 활용하면 키보드로 하는 모든 상황을 대응할 수 있습니다.

그러나 잘 알면 더욱 도움되는 파생함수들이 있으니까 짚어가도록 하겠습니다.

 

1. SendRaw : 로우모드

 

Send에서는 {enter}는 키보드의 엔터키에 대응됩니다.

하지만 코드를 짜다보면 enter라는 문장이 필요할 수 있습니다.

특수키/조합키가 먹히지 않는 텍스트만 사용하는 것이 로우모드입니다.

Autohotkey 2.0 버전에서는 로우모드일 때는 "{중괄호}"는 필요하지 않습니다.

 

Send, {Raw}enter
SendRaw, ^c 문장을 입력합니다. 
→ 결과 : enter^c 문장을 입력합니다.

 

320x100

 

2. SendInput : 빠르게 입력하기

 

사용법은 Send랑 같습니다. SendInput 명령어는 문장을 빠르게 입력합니다.

문장이 켜지는 동안 다른 프로그램이 실행되거나 해서 오류가 나는 경우를 방지합니다.

운영체제따라 다르지만 대략 5000문자로 제한된다고 합니다.

아래에 보면 Send는 빠르기는 해도 한문자씩 들어가지만 SendInput은 한방에 들어가죠.

 

보이시나요?

 

3. SendPlay : 방해금지 입력

 

사용법은 Send랑 같습니다.

속도는 Send < SendPlay < Sendinput인데 SendPlay는 중간에 끼어드는 키보드 입력을 뒤로 미룹니다.

도움말에서는 가장 발전할 버전이라고 하지만 CapsLock, NumLock, ScrollLock를 켜고 끌수는 없다고 합니다.

그리고 보안프로그램에 따라서 실행되지 않는 경우가 있다고 합니다. - 이건 정확한 제보가 아닐 수 있습니다.

(그저 보안프로그램이 정말 맘에 안듭니다.)

기본적으로는 Send를 쓰는게 가장 좋습니다.

 

 

4. SendMode : 모드 변경하기 

 

SendMode, mode : Send의 사용법을 결정합니다.

 

Event(send의 구버전, 거의 유사합니다.), input, Play를 선택할 수 있습니다.

한번 선택하면 그 아래 사용되는 Send가 mode를 따라 바뀝니다.

 

F2::
sendmode, Input ; 이 아래의 Send는 SendInput과 같습니다.
send, 가나다라마바사
sleep, 500
send, 아자차카파타하
sleep, 500
send, abcdefghijklmnopqrustwzyz

msgbox, 끝났습니다.
return

 

5. SetKeyDelay : 키의 딜레이를 제어

 

위에서 빠르게 입력하는 것을 보았지만 프로그램등 사용환경에 따라서는 키 사용에 딜레이가 있어야 합니다.

그걸 지원하는 것이 SetKeyDelay입니다.

SendInput은 한순간에 입력을 하는 모드라서 이 딜레이를 무시합니다.

 

SetKeyDelay , [Delay, PressDuration, Play] : 키의 딜레이를 입력합니다.

 

  • Delay : 키와 키간의 지연시간입니다. -1을 입력하면 전혀 없고, 양수는 ㎳ 단위로 받아들입니다.
  • PressDuration : 키가 눌려져서 때질때까지의 지연시간입니다. -1을 입력하면 전혀 없습니다.
    눌렸다 때는 시간이기 때문에 그냥 타이핑을 봐서는 알 방법이 없습니다.
    사용 환경 소프트웨어(게임등)의 요구조건에 따라 입력해 줍니다.
  • Play : Play라고 입력하면 Play 모드에 지연시간을 입력할 수 있습니다. 여기서 입력하지 않으면 SendPlay는 언제나 지연시간이 -1(즉시 실행)입니다.  

 

 

 

반응형
728x90
목차

1. SEND 명령어

2. 조합키

3. Down과 UP

4. 자주 사용하는 특수키들

5. 그외 특수키들

 

우리가 컴퓨터를 사용해서 하는 일은 대표적으로 입력과 출력 2개가 있습니다.

입력은 거의 모든 경우에 마우스와 키보드로 이루어집니다.

그 중 하나인 키보드 입력에 대해서 알아보겠습니다.

 

1. SEND 명령어

 

SEND, {keys} : 키를 입력합니다.

예) Send, {a} - a를 입력합니다. / Send, {a 20} - a를 20번 입력합니다.

엄청 단순한 사용법이지만 우리가 키보드를 사용하는 방식 다양함으로 여러가지 기능을 지원합니다.

 

※ 기타 : Send 키는 실제로 키보드를 누른것과 같은 동작을 함으로 노딜레이로 실행하면 버그가 나기 쉽습니다.

Sleep 숫자(㎳ 단위의 대기시간을 가집니다.)를 이용해서 딜레이를 주는 요령을 들입시다.

 

 

 

2. 조합키

 

`과 함께 사용해서 키보드의 기능으로 인식되는 조합이 있습니다.

 

  • `n, `r : enter키로 인식합니다.
  • `t : Tap으로 인식합니다.
  • `b : 백스페이스로 인식합니다.

 

아시겠지만 AUTO HOT KEY에서 종종 쓰는 ` 키는 보통 키보드에서 1 왼쪽 ESC 아래에 있는 키입니다.

저는 가끔 다른 키랑 혼돈합니다. 점이라 잘 보이지 않으니 코딩할 때 주의하세요.

 

 

 

3. Down과 UP

 

명령어라기보단느 키 뒤에 위치하여 상태를 제어합니다.

가장 간단한 누르고 있거나 때는 동작을 보여줍니다.

 

DOWN : 키보드를 누르고 있는다.

UP : 눌렀던 키보드를 땐다.

 

아래의 예시는 a를 1000 ㎳ 동안 누르고 있다가 때는 것입니다.

그런데 키를 누르고 있어도 연속으로 aaaaaa... 으로 입력되지 않습니다.

그건 물리적인 우리가 사용하는 키보드의 기능이기 때문입니다.

그리고 한영키에 따라서 한글로 들어갈 수도 있습니다.

 

Send {a down}
Sleep, 1000
Send, {a up}

 

Down을 눌렀다가 UP으로 해지하지 않으면 큰 오류가 날수도 있습니다.

꼭 DOWN을 썻으면 UP으로 정리하는 버릇을 들여야겠습니다.

 

320x100

 

 

4. 자주 사용하는 특수키들

 

가장 자주 쓰는 특수키를 모았습니다.

일반키들은 키보드가 입력되지만 특수키들은 그냥 특수키로 실행됩니다.

예를 들어 Send, {abc} → abc를 입력하지만, Send, {enter} → 키보드의 enter키를 누른 것과 같습니다.

 

    • {F1~F24} : 키보드의 F1~F24, 우리 키보드에는 보통 F12까지 있죠.
    • {Enter} : 키보드의 Enter
    • {Escape} or {Esc}  : 키보드의 ESC
    • {Space} : 키보드의 스페이스, 빈칸이 있어도 스페이스가 됨
    • {Tab} : 키보드의 Tap
    • {Backspace} or {BS} : 키보드의 백스페이스
    • {Delete} or {Del} : 키보드의 Delete 키
    • {Control} or {Ctrl} : 키보드의 Ctrl 키
    • {LControl} or {LCtrl} / {RControl} or {RCtrl} : 왼쪽 Ctrl 키와 오른쪽 Ctrl 키
    • {Alt} : 키보드의 Alt 키
    • {LAlt} / {RAlt} : 왼쪽 Alt 키와 오른쪽 Alt 키
    • {LWin} / {RWin} : 키보드의 왼쪽 오른쪽 WINDOW키
    • {UP} {DOWN} {LEFT} {RIGHT} : 키보드의 방향키 ↑ ↓ ← → 키

 

예시를 들어보겠습니다.

5개의 글자를 선택해서 복사하고 아래에 붙여 넣는 기능입니다.

이런 간단한 작업도 메크로로 짜려면 약간 주눅이 듭니다.(중간에 시간을 1초씩 넣다보니 느리네요)

하지만 한번 짜두면 계속 쓸 수 있는게 메크로의 장점이니 반복된 작업에 사용할 수 있습니다.

 

F2:: Send, {shift down}
Sleep, 1000
Send, {right 5}
Sleep, 1000
Send, {shift up}
Sleep, 1000
Send, {ctrl down}
Sleep, 1000
Send, {c}
Sleep, 1000
Send, {right}
sleep, 1000
Send, {enter 2}
Sleep, 1000
Send, {v}
Send, {ctrl up}
msgbox, 끝났습니다.
return

뭐든 메크로가 작동되면 기분은 좋습니다.

 

5. 그외 특수키들

 

위에 자주쓰는걸 보셨으면 예상이 되겠지만 키보드에 있는 명칭을 거의 그대로 사용합니다.

어려울 것 전혀 없고 많기만 하지만 쭈욱 적어 내려가 볼테니 사용하실 꺼면 참고하세요.

 

  • {Insert} or {Ins} : 키보드의 Insert 키
  • {End} : 키보드의 End 키
  • {PgUp} / {PgDn} : 키보드의 Page up과 Page down 키
  • {CapsLock} : 키보드의 Caps Lock
  • {ScrollLock} : 키보드의 ScrollLock
  • {NumLock} : 키보드의 NumLock
  • {Numpad0} - {Numpad9} : 숫자패드의 숫자들
  • {NumpadDot} : 숫자패드의  .(점)
  • {NumpadEnter} : 숫자패드의 Enter
  • {NumpadMult} : 숫자패드의 * (곱하기)
  • {NumpadDiv} : 숫자패드의 / (나누기)
  • {NumpadAdd} : 숫자패드의 + (더하기)
  • {NumpadSub} : 숫자패드의 - (빼기)
  • {NumpadDel} : 숫자패드의 Del
  • {NumpadIns} : 숫자패드의 ins
  • {NumpadClear} : 숫자패드의 Clear키
  • {NumpadUp} {NumpadDown} {NumpadLeft} {NumpadRight} : 숫자 패드의  ↑ ↓ ← → 키
  • {NumpadHome} : 숫자패드의 Home 키
  • {NumpadEnd} : 숫자패드의 End
  • {NumpadPgUp} {NumpadPgDn} : 숫자패드의 Page up과 Page Down

 

숫자패드 키는 키보드마다 구성이 약간씩 다르지만 이경우 모두 들어갑니다.

프로그램이나 상황에 따라 본 키보드와 숫자패드가 구별되는 상황에서 쓰시면 됩니다.

 

 

반응형
728x90
목차

1. 산술 연산자

2. 논리 연산자

3. 내장 함수 연산자

 

오토핫키에서도 여러가지 연산자를 특별한 부가 기능없이 지원합니다.

쉽고 빠르게 익힌다는 타이틀에 맞게 생각나는 연산자가 대부분 있습니다.

비트연산자등은 심화로 가야 공부할 기회가 있을 것 같습니다. 자주쓰는 연산자를 정리합니다.

 

320x100

 

1. 산술 연산자

 

사칙연산과 숫자의 값을 바꾸는 연산자입니다.

변수에 값을 입력하는 등 여러가지 방식으로 사용됩니다.

 

연산자 설명 사용법
+ 더한다 5 + 7, 결과 12
- 뺀다 5 - 7, 결과 -2
* 곱한다 5 * 7, 결과 35
/ 나눈다 5 / 7, 결과 0.7142857143
** 거듭제곱 5 ** 3, 5*5*5와 같음, 결과 125
// 몫을 구합니다. 10 // 3, 결과 3
mod(자수 / 모수) 자수를 모수로 나눈 나머지를 구한다. mod(10, 3), 결과 1
++ 값을 1 증가시킨다 a++, a := a+1과 같음
-- 값을 1 감소시킨다 a--, a := a-1과 같음
+= 값을 더해서 대입한다. a += 5, a := a+5와 같음
-= 값을 빼서 대입한다. a -= 5, a := a-5와 같음
*= 값을 곱해서 대입한다. a *= 5, a := a*5와 같음
/= 값을 나누어 대입한다. a /= 5, a := a/5와 같음
-(단항) 음수를 적용한다. -(3 * 5), -1 * (3 * 5)와 같음

 

 

 

2. 논리 연산자

 

비교하거나 판단하는 성격이 있는 연산자입니다.

주로 같거나 말거나 크거나 작거나 하는 것을 비교합니다.

하지만 상황이 다양함으로 연산자도 다양합니다.

결과로 TRUE(1)와 FALSE(0)을 반환하거나 연산과정에서 TRUE(1)과 FLASE(0)를 사용합니다.

 

연산자 설명 사용법
>      <
>=    <=
큰지 작은지, 크거나 같은지 작거나 같은지 검사합니다. 5 > 7, 거짓으로 FALSE(0)을 반환
= 같은지 아닌지를 검사합니다. 대소문자를 구별안합니다. "A"="a", 참으로 TRUE(1)을 반환
== 같은지 아닌지를 검사합니다. 대소문자를 구별합니다. "A"=="a", 거짓으로 FALSE(0)을 반환
<>    != 값이 다르면 참, 같으면 거짓을 반환합니다. "a"!="b", 거짓으로 TRUE(1)을 반환
!== 값이 다르면 참, 같으면 거짓을 반환합니다. 대소문자를 구별합니다. "a"!=="A", 거짓으로 TRUE(1)을 반환
And
&&
(명제1) and (명제2), 두 명제가 모두 참이여야 참으로 반환합니다. 3 = 3 and "a"="b", 하나만 참으로
FALSE(0) 반환
OR
||
(명제1) or (명제2), 두 명제중 하나만 참이어도 참으로 반환합니다. 3 = 3 or "a"="b", 하나는 참으로
TRUE(1) 반환
NOT 참을 거짓으로 거짓을 참으로 바꿉니다. NOT(3 = 3 or "a"="b") 참이나 반전되
FALSE(0) 반환
?: 참이냐 거짓이냐 따라서 결과가 다름. A := (논리) ? "a" : "b"
논리가 참이면 A에 "a"를 대입, 거짓이면 "b"를 대입
var := 5 > 7 ? "a" : "b"
거짓임으로 var에는 "b"가 대입된다.

 

3. 내장 함수 연산자

 

오토핫키에서 지원하는 내장함수입니다. 하지만 사용법이 연산자와 같아 연산자로 분류하여 여기로 가져왔습니다.

사용빈도가 높은 내장함수입니다.

 

연산자 설명 사용법
Round(수, 자리수) 반올림합니다. Round(3.14258, 3), 결과 3.142
Ceil(수) 정수가 되도록 올림합니다. Ceil(4.1111), 결과 5
Floor(수) 정수가 되도록 내림합니다. Floor(2.985), 결과 2
ABS(수) 절대값(양수)가 됩니다. ABS(-12), 결과 12

 

단순해보이고 사칙연산처럼 절대 놓치지 않겠다 하는 부분도 있지만,

논리연산자 부분은 가끔 코드를 가볍게 할 수도 있는 것을 놓치고는 합니다.

가끔 이렇게 정리를 해서 숙지해두면 좀더 효율적인 코딩이 가능할 것입니다.

 

반응형
728x90

 

VBA는 엑셀의 자체 내장 프로그램이라 엑셀의 시스템의 영향을 강력하게 받습니다.

정확하게는 엑셀을 활용하는 것이 VBA의 존재이유라고 할 수 있죠.

오늘은 셀을 이동하고 선택하는 코드들에 대해서 알아보겠습니다.

 

 

 

1. RANGE(셀주소)

 

 - 셀의 주소 혹은 범위를 나타냅니다.

RANGE("A1") 혹은 RANGE("A1:A10") 형식으로 ""(따움표) 안에 주소 이름을 넣습니다.

주소를 텍스트로 입력하는 방식입니다.

텍스트 형식의 변수로 바로 사용할 수 있습니다. 아래의 아주 간단한 예시를 보겠습니다.

 

Sub cell_ex()

    A = "A1:D10"    '범위
    Worksheets("sheet1").Range(A).Select '범위를 선택하라

End Sub

 

결과는 아래와 같습니다. - A1:A10을 선택했습니다.

 

선택하기

 

 

 

 

2. CELLS(행번호, 열번호)

 

 - CELLS(행번호, 열번호), 셀의 위치값을 숫자로 넣어 셀을 선택한다.

처음의 행이고 두번째가 열입니다.(X, Y) 좌표계가 익숙한 저는 가끔 헷갈리기도 함니다.

행번호는 왼쪽의 바의 번호 그대로고 열번호는 ABC순서대로 번호로 메겨집니다.

 

예) CELLS(3, 2) → B3, CELLS(5, 3) → C5 가 됩니다.

 

 

 

두개의 명령어를 비교하면 RANGE("셀주소")  ← 셀주소가 TEXT 형식이라서 연산이 안됩니다.

A1+1라고 입력하면 에러가 발생합니다. 하지만 (B2:C10)처럼 범위를 입력하기는 쉽습니다.

CELLS 값을 숫자로 넣기 때문에 CELLS(X + 3, Y + 2) 처럼 연산을 통해 이동할 수 있습니다.

하지만 CELLS는 범위를 넣는 기능이 지원되지 않습니다.

그래서 이런 것들이 가능하도록 필수적인 옵션 명령어 OFFSET과 RESIZE에 대해서 알아 보도록 하겠습니다.

 

 

 

3. OFFSET(행번호, 열번호)

 

 - 셀을 행번호와 열번호만큼 이동해 줍니다.

B2에 있는 칸을 E3로 입력해 봅시다. 행과 열이 가로세로만 구별되면 금방 익숙해집니다.

행번호와 열번호가 숫자로 들어가니 사칙연산도 가능하고 편리합니다.

Sub cell_ex()

    Worksheets("sheet1").Range("B2").Select                 'B2를 선택합니다.
    Worksheets("sheet1").Range("B2").Offset(0, 0).Select    'B2에서 안움직이고 그대로 있습니다.
    Worksheets("sheet1").Range("B2").Offset(2, 3).Select    'B2에서 행 2개 열 3개 이동해서 E4가 됩니다.

    Worksheets("sheet1").Cells(2, 2).Select                 'B2를 선택합니다.
    Worksheets("sheet1").Cells(2, 2).Offset(0, 0).Select    'B2에서 안움직이고 그대로 있습니다.
    Worksheets("sheet1").Cells(2, 2).Offset(2, 3).Select    'B2에서 행 2개 열 3개 이동해서 E4가 됩니다.

End Sub

 

 

이동경로

 

320x100

 

 

 

4. RESIZE(행번호, 열번호)

 

 - 주어진 셀에서 행번호와 열번호만큼의 범위를 지정합니다.

주의할 점은 RESIZE는 크기에 관한거라 1이 최소입니다.

0이나 음수를 지정하면 에러가 납니다.

Sub cell_ex()

    Worksheets("sheet1").Range("B2").Select                 'B2를 선택합니다.
    Worksheets("sheet1").Range("B2").Resize(1, 1).Select    'B2에서 안움직이고 그대로 있습니다.
    Worksheets("sheet1").Range("B2").Resize(2, 3).Select    'B2에서 행 2개 열 3개만큼을 선택합니다.

    Worksheets("sheet1").Cells(2, 2).Select                 'B2를 선택합니다.
    Worksheets("sheet1").Cells(2, 2).Resize(1, 1).Select    'B2에서 안움직이고 그대로 있습니다.
    Worksheets("sheet1").Cells(2, 2).Resize(2, 3).Select    'B2에서 행 2개 열 3개만큼을 선택합니다.
End Sub

 

 

범위선택

 

 

 

5. OFFSET과 RESIZE

 

이 두개는 같이 사용할 수 있습니다.

이동 후에 범위를 선택할 수 도 있지만 반대로 할 수도 있습니다.

자유도가 상당히 높습니다. 

Sub cell_ex()

    Worksheets("sheet1").Range("B2").Offset(2, 3).Resize(3, 2).Select
    Worksheets("sheet1").Cells(2, 2).Offset(2, 3).Resize(3, 2).Select
    
End Sub

 

 

여기까지를 익히면 셀의 이동은 자유자재입니다.

셀만 이동한다고 뭐가 되는건 아니지만 VBA의 기초가 되는 시작점이니 다루어 보았습니다.

그외에도 이동에 도움이 되는 옵션은 조금씩 더 있습니다.

하지만 오늘 기능으로 일단 다 구현이 가능할 것입니다.

필요에 따라서 다음에 모아서 다루어 보도록 하겠습니다.

반응형
728x90

 

데이터보면 그 양이 많고 적은지 알기 어려울 때가 있습니다.
순위를 알면 이 값들이 얼마나 크고 작은지 짐작할 수있습니다.
RANK 함수를 통해서 순위를 어떻게 뽑고 또 중복된 순위를 처리하는 방법을 알아 보겠습니다.
 

 
 

1. RANK 함수 사용하기

 
목록에서 순위를 뽑아주는 함수로 RANK, RANK.EQ, RANK.AVG 3개의 함수로 구성되어있습니다.
RANK는 RANK.EQ와 같은 함수입니다.
각각 크게 사용법이 다르지 않기 때문에 한번에 알아보겠습니다.
 
RANK.EQ(number,ref,[order]) : 주어진 리스트에서 순위를 구합니다. RANK와 같은 함수입니다.
 

  • number : 순위를 구하려는 수입니다.
  • ref : 순위를 확인하려는 리스트입니다. 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다.
  • order : 오름차순으로 순위를 볼지 내림차수로 볼지 결정합니다. 0 - 내림차수, 1 - 오름차수
  • 이 함수는 동일한 숫자가 있을때는 모두 같은 순위를 정수로 반환합니다.

 
RANK.AVG(number,ref,[order]) : 주어진 리스트에서 순위를 구합니다. 
 

  • number : 순위를 구하려는 수입니다.
  • ref : 순위를 확인하려는 리스트입니다. 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다.
  • order : 오름차순으로 순위를 볼지 내림차수로 볼지 결정합니다. 0 - 내림차수, 1 - 오름차수
  • 이 함수는 동일한 숫자가 있을때는 순위의 평균을 반환하여 소수점이 될 수 있습니다.

 
RANK.EQ와 RANK.AVE는 기본적으로 같은 기능과 용법을 가지고 있습니다.
차이는 리스트에서 동일한 중복된 숫자를 처리하는 방법인데요.
EQ는 모두 같은 자연수가 반환되니 이해하기 쉽습니다.
AVG는 바로 등수의 평균을 반영합니다. 2개 있을때는 ().5가 됩니다.
두 함수는 숫자가 같으면 등수가 모두 같다는 점은 동일합니다.

 

같은 수 일 때는 반환하는 방식이 다릅니다.

 

320x100

 
 

2. 중복된 순위를 없애는 방법

 
순위를 겹치지 않게 만들고 싶습니다. 문제가 되는 경우가 있습니다.
이럴때는 엑셀에서는 딱히 깔끔한 방법이 없습니다.
COUNTIF 함수를 사용해야 하고 조금 복잡하게 사용해야 하는데 방법을 소개하겠습니다.
(COUNTIF를 소개하는 링크)
 
=COUNTIF($C$7:C17,C17) - 범위에 앞쪽에는 절대참조 뒤에는 상대참조를 한 후에 아래로 채웁니다.
그럼 "리스트에서 선택할 셀 위에서 같은 값을 샘" 함수가 되게 됩니다.
즉, 처음 만나는 값은 무조건 1이고 똑같은 값을 다시만나면 2, 3 순으로 늘어나게 됩니다.
 

 

 
이걸 이용하면 순위를 고유함수로 사용할 수 있습니다.
RANK의 결과에 이 COUNTIF의 값을 더하고 1을 빼면 됩니다.(countif는 최소가 1임으로)
이런 방식을 사용하면 중복되는 등수가 없어 집니다.
 

 

중복된 순위 없애기

 

 
두 함수를 나누지 않고, 한칸에 모두 사용할 수도 있습니다.
이런 함수는 상당히 길어지지만 나누어 생각하면 이해할 수 있습니다.
=RANK.EQ(C17,$C$7:$C$23) + COUNTIF($C$7:C17,C17) -1
중복까지 제어하면 랭크함수의 마스터가 됩니다. 연습해 봅시다.
 
 
 

반응형
728x90

 

엑셀을 숫자로 되어있는 시간의 형태로 표현할 수 있습니다.

날짜를 지원하는 서식은 여기 포스팅했습니다. - 날짜서식과 날짜를 지원하는 함수(TODAY, DATE, YEAR, MONTH, DAY)

이어서 시간 서식에서는 값이 시간 분 초로 표시되며 이를 이용해서 연산과 함수기능을 지원합니다.

기본적으로는 셀에 HH:MM:SS 형식으로 입력하면 자동으로 시간서식으로 변환됩니다.

 

 

1. 시간 표시형식

 

시간 서식을 선택하는 법은 빠르게 상단의 "표시형식" 매뉴를 사용해도 됩니다.

셀을 선택하고 셀서식에서 표시형식의 시간을 선택하면 됩니다.

셀서식에서는 여러가지 형식을 지원하는데 24시간 방식이나, PM/AM 방식으로 선택할 수 있습니다.

시간 서식 설정하기

 

 

 

2. 시간 형식에 대해서

 

날짜 표시는 정수 1~2958465를 1900년 1월 1일 부터 9999년 12월31일까지를 표현합니다.

시간 표시의 최소단위는 초이고 시간은 하루가 86400초인데 이걸 소수점으로 표현합니다.

1초가 1/86400 = 0.0000115740740740741으로 시간을 표현합니다.

시간만 입력하면 1900년 1월 0일이라는 가상의 날짜가 됩니다.

하지만 날짜는 정수 시간은 소수점임으로 두가지 정보를 다 표현하는 것이 가능합니다.

예를 들어 2022-12-28 13:07:24은 숫자로는 44923.5468055556가 됩니다.

날짜와 시간을 모두 표현할 수 있는 머리가 좋은 방식이라고 생각합니다.

 

320x100

 

 

 

3. 시간 형식의 함수

 

시간 서식을 통해서 시간 함수들을 사용할 수 있습니다.

엑셀의 시간 함수들은 강력하다고는 하기 어렵고 기초적인 기능만을 제공합니다.

 

now() : 시스템의 지금 날짜와 시간을 가져옵니다. ()안은 비어있어야 합니다.

 

TIME(hour, minute, second) : 시간을 입력하는 함수입니다.

 

  • hour  : 시간을 나타내는 0에서 32767 사이의 숫자입니다. 23보다 큰 값은 24로 나눈 나머지가 시간으로 처리됩니다.예를 들어 TIME(27,0,0)은 TIME(3,0,0)이 되고 이 값은 0.125 또는 오전 3:00입니다.
  • minute : 분을 나타내는 0에서 32767 사이의 숫자입니다. 59보다 큰 값은 시간과 분으로 변환됩니다. 
    예를 들어 TIME(0,750,0)은 TIME(12,30,0)이며 이 값은 0.520833 또는 오후 12:30입니다.
  • second : 초를 나타내는 0에서 32767 사이의 숫자입니다. 59보다 큰 값은 시간, 분, 초로 변환됩니다.
    예를 들어 TIME(0,0,2000)은 TIME(0,33,22)이 되고 이 값은 0.023148 또는 오전 12:33:20입니다.

 

HOUR(serial_number) : 시간 값에서 "시"를 추출합니다.

 

  • serial_number : 시를 계산할 시간 값입니다. 기본적으로 시간서식을 입력된 셀을 선택합니다.
    따옴표로 묶은 텍스트 문자열를 직접 입력 할 수 있고, (예: "6:45 PM")
    시간을 소수섬 형식으로 입력 할 수 있습니다.(6:45 PM을 나타내는 0.78125)

 

MINUTE(serial_number) : 시간 값에서 "분"을 추출합니다.

 

  • serial_number :분을 계산할 시간 값입니다. 기본적으로 시간서식을 입력된 셀을 선택합니다.
    따옴표로 묶은 텍스트 문자열를 직접 입력 할 수 있고, (예: "6:45 PM")
    시간을 소수섬 형식으로 입력 할 수 있습니다.(6:45 PM을 나타내는 0.78125)

 

SECOND(serial_number) : 시간 값에서 "초"를 추출합니다.

 

  • serial_number :분을 계산할 시간 값입니다. 기본적으로 시간서식을 입력된 셀을 선택합니다.
    따옴표로 묶은 텍스트 문자열를 직접 입력 할 수 있고, (예: "6:45 PM")
    시간을 소수섬 형식으로 입력 할 수 있습니다.(6:45 PM을 나타내는 0.78125)

 

시간의 계산

 

시간은 정수가 아니라 소수점입니다. 따라서 (시간)+1은 24시간을 더하는 거라 값이 변하지 않습니다.

소수를 직접 더하면 되지만 0.5(12시간)등이 아니면 직관적으로 알기 어렵습니다.

따라서 시간을 입결한 셀끼리 연산하거나 time 함수를 사용합니다.

셀끼리 연산하거나 TIME 함수 활용하기

 

 

 

4. 시간 서식을 사용할 때 주의 할 점

 

서식을 입력할 때는 text 함수를 사용하거나 셀서식에서 사용자지정으로 선택할 수 있습니다.

이 때 시간의 "분"을 의미하는 "mm"은 날짜의 "월"을 의미하는 "mm"과 같습니다.

이때 분과 월을 구별하는 것은 시간과 함께 쓰는지 연도와 함께 쓰는지를 보고 구별합니다.

 

시간 서식 지정하기

 

 

 

 

반응형
728x90

 

 

오토핫키도 언어인 만큼 변수의 사용이 중요합니다.

모든 언어가 그렇듯이 사용자가 저장하거나 꺼내쓰고 싶은 값을 사용하려면 이름이 필요합니다.

Auto Hot Key도 변수를 사용해서 언어의 사용폭을 넓일 수 있습니다.

 

변수는 값이 사용하는 공간입니다.

예를 들어 야구라면 "1루수", "2루수", "3루수"라는 변수가 있으면 거기에 각각 값인 "김씨", "박씨", "정씨"가 들어가죠.

변수인 "1루수"라는 자리는 게임이 진행되면 자리는 계속 있지만, 값인 김씨는 최씨로 변경될 수 있습니다.

우리가 1루수가 하는 "일"을 지정할 수 있고 "선수 - 내용"을 바꿔서 작전을 입체적으로 운영합니다.

그것과 같이 프로그램에서 변수를 동작시키고 값을 바꿔서 코드는 간략하지만 입체적인 일을 수행할 수 있습니다.

 

 

 

 

1. 변수의 이름

 

변수이름에는 제약이 있다고는 하지만 자유도가 높아 무한대의 조합이 가능하죠.

  • 변수의 이름은 ASCII 문자, 숫자 및 밑줄로 이루어진다.
  • 영어의 경우 대소문자를 구별하지 않는다.
  • 숫자로 시작되는 것은 권장하지 않는다.(2a → a2로 사용한다.)

 

 

 

2. 변수의 초기화  

 

변수의 선언은 따로 하지 않습니다. 값을 대입해서 초기화시키면 그냥 변수가 추가됩니다.

처음 사용하면 변수가 선언되는 것입니다.

값을 대입시키는 연산자는 := 입니다.

 

a := 12
b := "문자열"

 

주의해야 할 점은 ver1.1까지는 꼭 ""를 입력하지 않아도 문자가 들어갔습니다.

V2.0 부터는 반드시 "따움표"를 안에 값을 입력해야 합니다.

다만 따움표가 없다고 해서 에러가 나는건 아니고 그냥 아무 값도 들어가지 않습니다.

그렇다고 변수에 Null을 넣고 싶을때 사용하라는 건 아닙니다. 변수에 Null을 넣고 싶으면, 아래처럼 합니다.

 

a := ""

 

문자와 숫자를 알아서 구별하는데 문자는 심플하게 그냥 "" 안에 있으면 됩니다.

숫자는 규칙이 있는데 아래와 같습니다.

 

  • 여러자리의 정수나 음수(예 : 01, 452, 5648 , -4)
  • 0x로 시작하는 16진수, 16진수 음수(예 : 0x4c, 0x1a8b44, -0xFF)
  • 소수점으로 이루어진 부동 소수점 숫자(예 : 1.12, -4.582)

 

320x100

 

 

 

2. 변수를 사용하기

 

입력값을 표현할 때는 %연사자를 사용하는 것이 기본입니다.

하지만 % (내용) . (마침표)를 사용하더라도 표현할 수 있습니다.

연산자를 적용 할 때는 그냥 사용해야 합니다. 

 

F2::
a := 10
b := 5
c := a + b
msgbox, 더한 값은 %c%입니다.
msgbox, % "더한 값은 " . c . "입니다."
return

 

↓↓ 결과

결과

 

AUTO HOT KEY는 자유도를 높이기 위함인지 여러가지 방법을 지원합니다.

프로그램이 익숙해지면 외우게 되고 편해지지만 처음에는 정확한 용법이 아니면 틀리게 될 수도 있습니다.

다른 건 다 편한 AUTO HOT KEY라서 좀 많이 불편하게 느낄 수도 있지만 언어를 배울 땐 어느정도는 받아들여야 합니다.

쉬운 언어가 없다는 것이죠. 그나마 쉬운편이라고 생각하고 인내심을 가지시길 바랍니다.

생각보다 쉽고 빠르게 배우실꺼에요.

 

 

 

3. 변수 논리식과 연산자

 

연산자는 따로 또 포스팅 할 것입니다.

여기선 변수를 밀접하게 관련된 부분만 다루겠습니다.

 

 

① 내장변수 : TRUE와 FALSE

 

논리 연산자인 TRUE와 FALSE는 각각 숫자 1과 0으로 대입됩니다.

연산의 결과도 똑같이 1과 0으로 저장됩니다.

F2::
a := 10
b := a > 15 ; 거짓 즉 FALSE 임으로 0으로 저장됩니다.
c := TRUE ; TRUE는 1로 저장합니다.
msgbox, b는 거짓임으로 %b%입니다.
msgbox, c는 참임으로 %c%입니다.
return

 

↓↓ 결과

 

 

 

② 변수의 값을 추가하는 연산자 .=

 

연산자 :=가 "대입"이라면, 연산자 .= 는 "추가"입니다.

기존 변수의 값을 그대로 두고 오른쪽에 값을 추가합니다.

사용하는 법은 아래를 보면 쉽게 아실 수 있습니다.

F2::
a := "말" ; a는 "말"입니다.
a .= "말" ; a는 "말말"입니다.
a .= "말" ; a는 "말말말"입니다.
b := 1 ; b는 1입니다.
b .= 2 ; b는 12입니다.
b .= 3 ; b는 123입니다.
c := b + 1 ; c는 123+1이 되어 124가 됩니다.
msgbox, a는 %a% 입니다.`nb는 %b% 입니다.`nc는 %c% 입니다.
return

 

↓↓ 결과

 

그냥 적립하지만 숫자가 누적되면 하나의 숫자처럼 사용할 수 있습니다.

1, 2, 3을 누적해 123을 만들어도 더하고 뺄 수 있습니다.

 

 

 

반응형
728x90

 

데이터가 많으면 항상 그중에서 뭐가 가장 크냐 작으냐를 보게되죠.

극단적인 상황을 볼 때 아니면 개중에 뭐가 가장 심각한지, 양호한지 보려는 것이죠.

오늘은 데이터의 크기를 보는 함수를 알아보겠습니다.

 

 

1. MAX / MIN 함수 : 가장 큰 수와 작은 수를 추출합니다.

 

엑셀도 용도가 많으니 배우는 성격에 따라서 안배울 수도 있지만요.

특히 숫자로 된 데이터를 정리하는 위주로 엑셀을 배우셨다면 100% 알고 있을 것입니다.

그만큼 많이 쓰는 함수라는 것입니다.

 

MAX(number1, [number2], ...) : 숫자들 중 가장 큰 최대값을 구합니다.
셀의 영역을 입력하거나 숫자 혹은 배열을 입력할 수 있습니다. 종류로 최대 255개까지 지정이 가능합니다.

MIN(number1, [number2], ...) : 숫자들 중 가장 작은 최소값을 구합니다.
셀의 영역을 입력하거나 숫자 혹은 배열을 입력할 수 있습니다. 종류로 최대 255개까지 지정이 가능합니다.

 

 

 

 

2. LARGE / SMALL 함수 : 몇 번째로 크거나 작은 숫자을 추출합니다.

 

이 함수들은 짝으로 이름만 다르고 크냐작냐 차이지 기능이나 용법을 같습니다.

두개를 한번에 설명 드리겠습니다.

 

LARGE(array,k) : 데이터들이 있는 "array"에서 K 번째로 큰 숫자를 뽑습니다.

  • Array : k번째로 큰 값을 확인할 데이터 배열 또는 범위입니다.
  • k : Array에서 구하고 싶은 상대 순위입니다.

SMALL(array,k) : 데이터들이 있는 "array"에서 K 번째로 작은 숫자를 뽑습니다.

  • Array : K번째로 작은 값을 확인할 숫자 데이터 배열 또는 범위입니다.
  • k : Array에서 구하고 싶은 상대 순위입니다.

 

 

가장 높은/낮은 값을 뽑아주는 MAX/MIN는 많이 사용하지만,

두번째 부터 뽑을 수 있는 Large / Small의 사용 빈도가 적은 걸 보면 역시 일등아니면 꼴찌해야 기억하는 세상이네요.

 

320x100

 

 

 

3. LARGE, SMALL을 이용해서 순위 뽑기

 

크거나 작은 값들이 그냥 떠있으면 내용을 파악하지 못 할 수도 있습니다.

구체적으로 데이터의 이름이 필요하죠.

이럴 때 쓰는 것이 INDEX와 MATCH 함수와 조합하면 멋있는 순위표를 만들 수 있습니다.

( 이 링크는 INDEX와 MATCH에 대한 설명입니다. )

 

=INDEX(B7:B23,MATCH(G5,$C$7:$C$23,0))
① LARGE로 순위별 숫자를 뽑습니다.(G5)
MATCH로 그 숫자가 몇번째 숫자 인지 찾습니다.
INDEX로 값을 출력합니다.

 

생산량 옆에 최다 / 최소 생산 시도만 붙여 넣어 보고서 느낌이 나네요.

보시면 알겠지만 양식화 해 놓으면 어떤 숫자들도 다 적용이 가능합니다.

생산, 비용, 인구에 관한 통계는 최다/최소만 몇개 뽑아도 분석이 빨라지죠.

사소한 것이지만 단순 DATA하나 주는 것보다 이렇게 뭐라도 붙여놓으면 데이터의 의미가 강해집니다.

(이런 사소한 배려 직장생활에서 중요합니다.)

 

가벼운 순위표

 

반응형
728x90
목차

1. 해치(HATCH) 기능의 사용

2. 해치(HATCH)의 종류와 기능

3. 해치(HATCH)의 선택

 

오토캐드를 색칠을 칠하거나 빗금을 쳐야 하는 상황은 매우 많습니다.

도색사양이 다른 부분과 다르거나 연삭이나 부식을 해야 하거나 반대로 광을 내야 할 때는 필수적이라 생각이 듭니다.

혹은 복잡한 도면에서는 특정 부분을 강조해야 할 때도 도형을 칠하면 좋죠.

오토 캐드에서 이 기능을 해치(HATCH)라고 합니다.

 

다양한 해치(HATCH)들

 

 

 

1. 해치(HATCH) 기능의 사용

 

 - HATCH라는 명령어로 작동합니다.

 

HATCH와 그 부가기능입니다

 

명령어 말고도 상당의 그림 아이콘 사이에 해치(HATCH)를 열수 있는 바로가기 매뉴도 있습니다.

여기서 일반 해치(HATCH)나 그라데이션 혹은 경계기능을 사용할 수도 있습니다.

 

 

해치(HATCH)를 그리는 것은 간단합니다.

닫힌(막혀있는) 공간에 마우스 커서를 가져대고 클릭하면 됩니다.

열려있으면 화면 전체가 선택되거나 경고창이 뜰 수 있습니다.

 

사격형을 꽉 채워서 색칠합니다.

 

 

2. 해치(HATCH)의 종류와 기능

 

도형을 채우는 해치(HATCH) 종류에 대해서 알아보겠습니다.

해치를 선택한 상태에서는 상단의 매뉴에 해치작성이 추가 됩니다.

미리 패턴의 모양이 떠 있어 그냥 보면 어떤것이 그려질지 알수 있습니다.

 

 

① 솔리드 : 공간을 한가지 색으로 채웁니다.

 

가장 기본적인 기능이고 직관적입니다.

단순한 패턴이라서 기능은 색을 변경하거나 투명하게 할 수 있습니다.

잘 아시겠지만 출력할 때는 검정색으로 됩니다.

하얀색 솔리드
매뉴에서 색이나 투명도를 변경할 수 있습니다.

 

② 패턴 : 오토 캐드에서 지원하는 각종 패턴을 채웁니다.

 

상당히 많은 패턴을 지원합니다 하지만 주로 빗금이나 벌집모양만 사용합니다.

그러나 도면이 그려지는 상황에 따라서 여러 가지를 쓰실꺼라 생각됩니다.

 

스크롤을 내리면 더 많은 패턴을 볼 수 있습니다

 

패턴이 되면 보다 많은 옵션을 선택할 수 있습니다.

패턴의 조밀도를 선택하고, 각도를 돌릴 수 있습니다.

뭐가 중요하냐 싶지만 시각적으로 잘 보이게 하는 요소가 됩니다.

 

(좌) 패턴 조밀도 0.5 / (중앙) 패턴 조밀도 2.0 / (우) 각도 돌리기

 

③ 그라데이션

 

패턴들 사이에 있지만 성격이 다름으로 구별되야 합니다.

그라데이션은 패턴들 사이에 있습니다.

 

GR로 시작합니다

 

그라데이션에는 시점을 바꾸는 중심기능이 지원합니다.

오토캐드는 도면을 위주로 사용해서 그라데이션까지 쓸일은 많지 않았어요.

하지만 이 역시 상황에 따라서 쓸수 있습니다.

 

(좌) 기본 그라데이션 / (중앙) 색깔 변경 / (우) 시점변경

 

320x100

 

 

3. 해치(HATCH)의 선택

 

도형이 다수 있을때 HATCH 명령어를 한번만 입력하고 여러번 클릭하면 모두 같은 해치가 됩니다.

설정을 변경하면 다 같이 바뀝니다. 하나만 선택해도 모두다 선택이 되고 중앙에 선택 점이 생깁니다.

ESC를 눌러서 선택을 종료하기 전까지 여러개의 해치(HATCH) 가 하나로 묶이게 됩니다.

 

 

나누려면 나눌 수는 있지만 다시 합치는 건 안됩니다.

합친 것이 필요하다면 처음부터 다시 선택해서 만들어야 합니다. 나눌때는 신중하게 선택하세요.

연관 매뉴 아래에 있는 화살표를 클릭하면 "개별 해치" 기능이 있습니다.

선택하면 나누어 집니다.

 

 

해치(HATCH)가 겹칠때는 오른쪽 클릭해서 그리기 순서를 이용해서 앞뒤로 조정할 수 있습니다.

또 투명도를 조절해서 앞뒤를 구별해서 보여주는 것도 가능합니다.

 

 


 

마지막으로 해치의 명령어를 공식 홈페이지에서 가지고 왔습니다.

저는 명령어를 외우지 않고 거의 대부분을 아이콘을 사용했지만 필요하신 분은 보고 사용하셔도 됩니다.

 

시스템 변수 설명 기본값 저장 위치
HPANG 해치 패턴의 각도 0 저장않음
HPBACKGROUNDCOLOR 선택된 해치 패턴의 색상 없음 도면
HPCOLOR 해치 패턴의 기본색상
(새로 그리는 패턴에 적용)
현재 색상 사용 도면
HPDLGMODE 해치 및 그라데이션 대화상자,
해치 편집 대화상자의 화면표시
RIBBONSTATE = 1(활성화) 해치 및 그라데이션 대화상자가 표시안됨
RIBBONSTATE = 0(비활성화) 해치 및 그라데이션 대화상자가 표시
사용자 설정
HPDRAWORDER 해치 및 채우기의 기본 그리기 순서 3 = 해치나 채우기를 경계 객체 뒤로 보냄 저장 않음
HPGAPTOL 닫힌 해치 경계로 처리할 영역을 거의 둘러싸고
있는 객체 세트 간의 최대 간격을 지정합니다.
0 레지스트리
HPNAME 기본 해치 패턴 이름 ANSI31(영국식) 또는
ANGLE(미터법)
저장 않음
HPLAYER 새 해치 및 채우기에 대한 기본 도면층을 지정 현재 도면층 사용 도면
HPORIGIN 새 패턴의 해치 원점을 설정(현재 사용자 좌표계) 0 도면
HPORIGINMODE 기본 해치 원점을 결정하는 방법을 조정 0=HPORIGIN을 사용. 다른 값이 해치 경계의 직사각형 범위에 있는 점에 해당됩니다. 레지스트리
HPSCALE 새 해치 패턴에 대한 기본 배율을 설정 1 저장되지 않음
HPSEPARATE 여러개의 해치를 설정할 때 묶을지 말지 0=단일 해치 객체가 작성됩니다. 레지스트리
반응형

+ Recent posts