728x90
목차

1. 참과 거짓 - True와 False

2. 논리 연산자와 논리연산자의 사용

3. 논리 함수들(AND, OR, XOR, NOT)

 

컴퓨터가 판단하는 결과는 딱 두개입니다. 참(1)이냐 거짓(0)이냐 중간은 없습니다. 컴퓨터니까요.

엑셀은 "조건부"라고 해서 판단하는 수식과 함수들이 많습니다.

IF 함수, SUMIF 함수등등 많은 경우 if가 붙어 있죠.(IF와 SWITCH 조건문)

엑셀에서 판단을 담당하는 논리 연산자와 함수들을 알아 보겠습니다.

 

 

320x100

 

1. 참과 거짓 - True와 False

 

엑셀은 TRUE() = TRUE = 0이 아닌 모든 숫자를 참으로 분류하고 FALSE() = FALSE = 0은 거짓으로 분류합니다.

특정한 위치 조건에서 참과 거짓의 성격을 가진 값을 함수로 가지고 있습니다.

 

TRUE() : "참"이라는 뜻을 지닙니다. 이 자체로도 인수가 없는 함수입니다. 그러나 그냥 "TRUE"라고 써도 됩니다. 이 함수는 엑셀과 호환가능한 다른 프로그램과 함께 사용할때 많이 사용됩니다.

FALSE() : "거짓"이라는 뜻을 지닙니다. 이 자체로도 인수가 없는 함수입니다. 그러나 그냥 "FALSE"라고 써도 됩니다. 이 함수는 엑셀과 호환가능한 다른 프로그램과 함께 사용할때 많이 사용됩니다.

 

다만 엑셀과 호환되더라도 다른 프로그램에서도 완전히 같은 방식을쓰지 않기 때문에 "참"과 "거짓"의 의미를 가지는 함수로 지원하는 것입니다.

Tip. 0이 아닌 숫자는 참이고 TRUE()도 참이지만, "TRUE() = 숫자"라고 입력하면 거짓으로 판정됩니다.

 

 

 

 

 

2. 논리 연산자와 논리연산자의 사용

 

엑셀이 지원하는 논리 연산자는 심플합니다.

아래 리스트에 정리했습니다.

 

이름 연산자 설명 사용예시
> 왼쪽이 오른쪽보다 크면 TRUE를 반환 10>1, 참
작음 < 왼쪽이 오른쪽보다 작으면 TRUE를 반환 10<1, 거짓
같거나 큼 >= 왼쪽이 오른쪽보다 같거나 크면 TRUE를 반환 10>=1, 참
같거나 작음 <= 왼쪽이 오른쪽보다 같거나 작으면 TRUE를 반환 10<=15, 참
같다 = 인수가 동일하면 TRUE를 반환 "a"="b", 거짓
다르다 <> 인수가 동일하지 않으면 TRUE를 반환 "a"="b", 참

 

Tip. 함수에 따라서 인수가 연산자를 허용하기도 하고 아닐 수도 있습니다.

예를 들어 IF(logical_test, [value_if_true], [value_if_false]) 함수의 경우 logical_test 자리에 논리를 사용할 수 있습니다.

SUM(range, criteria, [sum_range]) 함수처럼 범위를 다루는 경우 criteria 자리에 하나의 내용으로 입력해야 합니다.

IF 함수의 경우 =IF(10>1,1,0) ← 10>1이라는 연산자를 그냥 입력
SUMIF 함수의 경우 =SUMIF(A2:A8,"<"&A1,C2:C8) ← "<"&A1 라고 &연산자를 사용해서 하나의 값으로 입력

주의사항 정도로 익혀두면 됩니다.

 

 

3. 논리 함수들(AND, OR, XOR, NOT)

 

엑셀에서 다루는 논리 함수들입니다.

주로 여러개의 조건을 같이 사용할 때 유용합니다.

 

AND(logical1, [logical2]) : 인수가 모두 참이면 TRUE를 반환합니다. 하나라고 거짓이면 FALSE를 반환합니다.

OR(logical1, [logical2]) : 인수 중에 하나라도 참이면 TRUE를 반환합니다. 모두 거짓이면 FALSE를 반환합니다.

XOR(logical1, [logical2]) : 인수가 하나라도 거짓이면 TRUE를 반환합니다. 모두 참이면 FALSE를 반환합니다.

NOT(logical) : 인수가 참이면 FALSE를 반환하고, 인수가 거짓이면 TRUE를 반환합니다.

 

AND와 OR은 여러가지 논리연산자를 한번에 사용하도록 해주고 NOT 연산자는 조합으로 사용할 수 있습니다.

이걸 잘 쓰면 IF와 SWITCH(IFS 함수 포함) 다중 구문을 좀 단순화 할 수 있죠.

 

예시)

=IF(AND(A1=A4,B1=B4,NOT(C1=C4)),"합격","불합격") 

 → 이건 A1, A4과 B1, B4이 같으면서 동시에 C1은 C4와 달라야 합격인 조건입니다.

 


잡담.

사실 NOT은 거의 사용하지 않습니다.

연산자 자체가 =에는 반대되는 <>가 있고 >, <, >=, <=는 서로 반대이기 때문에 그냥 사용하면됩니다.

엑셀의 수식이 서로서로 얽혀서 not이 필요할 정도로 복잡해지는 경우는 거의 없습니다.

그래서 XOR로 2013버전에 추가된 신규함수에 속합니다.

주어진 기능을 다 사용해서 성능을 끌어올릴 수도 있지만 단순하게 활용하는 것도 편의를 위해서 좋습니다.

 

 

반응형
728x90

 

 

1. Middle earth : Shadow of Mordor

 
반지의 제왕의 세계관을 가지고 있는 게임입니다.
2014년에 출시된 오픈월드 3인칭 액션입니다.
반지의 제왕의 오리지널 스토리가 아니고 독창적인 케릭터와 확장된 세계관을 적용해습니다.
이런 스토리도 있구나하고 진짜 반지의 재왕과 비교하는 재미도 있지만 원작파괴가 분명하게 있는 작품입니다.
 

영혼이 두개인 주인공을 주제로 합니다

 

320x100

 
 

2. 스토리

 
모르도르 지역에서 언젠가 사우론이 부활할 걸 경계하기 위한 순찰자 일족이 살고 있었습니다.
사우론은 부활하기 전에 먼저 자신의 부하들에게 공격을 지시 합니다.
탈레온은 그때 가족과 함께 잡혀 사우론의 검은 손의 주술 의식에 재물로 바쳐집니다.
그러나 웬일인지 죽지 못하고 엘프유령과 몸을 공유하게 되었습니다.
안식을 원하는 탈레온은 이 저주를 풀기 위해 여행을 한다는 스토리입니다.
 

오크에게 가족을 잃는 탈레온

 

3. 기본 전투

 
원래 탈레온은 순찰자로 상당히 강합니다.
게임의 전투는 공격키를 상황에 맞추어 입력하면 탈레온이 알아서 공격하거나 방어하는 모션을 취합니다.
따라서 방어나 이동시 자연스럽지 않은 장면도 있습니다.
보통은 여러마리의 적들과 함께 전투하는 무쌍방식의 게임입니다.
 

방어하고 때리고 베고 조작은 쉽고 전투는 화려합니다

 

 
 

4. 무기들

 
무기는 검 / 활 / 단검 3가지입니다.

  • 검은 일반적인 무기로 탈레온의 체술을 이용하여 정면승부에서 사용합니다.
    공격과 방어 그리고 기력을 사용하는 처형에서 사용합니다.
  • 활은 장거리 공격으로 화살을 소모합니다.
    집중력이 남아있다면 조준을 할때 주위가 느려지는 보너스가 있고 모을 수록 강해집니다.
    헤드샷 판정이 있어서 일반 우르크는 전부 헤드샷 한방에 보낼 수 있습니다.
  • 단검은 암살할 때나 처형할 때 사용합니다. 대장오크들한테는 데미지가 있습니다.

각각의 무기는 특성을 강화하거나 룬효과를 줄 수 있습니다.
성장하는 정도가 매우 커서 초반과 후반의 전투력 차이가 많이 납니다.
 

&amp;larr; 검 &amp;uarr; 활 단검 &amp;rarr;

 
 

5. 오크들 - 우르크

 
사실 오크가 아니라 우르크 입니다. 사우론이 과거 오크들만으로는 부족하다 판단하여 만든 전투종족이죠.
그냥 보면 무식한 오크들이지만 적들도 종류가 많습니다.
방패병은 전방에서 공격을 막고, 버서커는 일반공격을 반격합니다.
창병은 원거리 공격을 합니다. 화살병도 요새등에서 원거리공격을 하는데 1순위로 제거해야 합니다.
적이 어느이상 많아지면 무쌍을 찍기가 어렵습니다.
사전에 적들을 멀리서 파악하고 너무 많거나 구성이 까다로운지 확인해야 합니다.
오픈월드 게임의 1원칙은 "무리라면 도망간다" 입니다.
 

무기를 보면 구별이 됩니다

 

6. 함정 활용하기

 
적들은 올라가거나 내려가는 플레이어를 잘 찾지 못합니다.
수가 많은지 챔피언이 강한지들을 파악해야 합니다.
함정을 잘 활용해야 하는데 원거리에서 활로 함정을 폭발 시켜서 대량의 피해를 주고 시작하면 전투가 쉬워집니다.
반대로 함정이 잘 먹히지 않았다면 일단 자리를 이탈하는 것도 좋습니다.
 

원거리에서 미리 데미지를 주고 시작합시다

 

7. 네메시스 시스템

 
이 게임의 가장 큰 특징은 네메시스 시스템으로 오크 대장들을 상대하는 것입니다.
오크 대장들은 조직도가 있고 Warchiefs(전투 대족장)을 필두로 해서 아래로 조직도가 이루어 집니다.
이들은 자기들끼리 전투하기도 하고 배신하거나 협력하는등 계급도가 변하거나 죽고 충원되게 되는데,
이걸 주인공인 탈레온이 끼어들어 결과에 영향을 줄 수 있습니다.
 

오크 조직도 입니다. 위에 있을 수록 높아요.

 

8. 정보 알아내기

 
이 시스템의 가장 큰 특징은 우선 일부 오크들이나 지형에서 정보를 얻을 수 있습니다.
대장 우르크의 약점과 장점을 알 수 있고 위치도 알 수있습니다.
암살에 약한 대장에게 접근해서 강력한 일격을 먹이고 시작하거나 화공을 먹일 수 있습니다.
이를 이용하면 빠른 성장이 가능합니다.
 

파리함정에 공포를 느끼고 피가 적어지면 광분하는 특성이 있네요

 

9. 오크 정복하기 - 낙인찍기

 
오크들의 다툼에 사이에 탈레온이 끼어든 이유는 복수를 위해서 입니다.
하지만 그 수단은 낙인을 찍어 오크를 지배함으로 가능합니다.
자기편인 오크를 만들어 적진에 침투시키거나 호위를 지시할 수 있습니다.
이 낙인을 이용해 네메시스 시스템을 정복하는 것은 스토리에서도 가장 중요한 일입니다.
 

대장 오크는 약화시킨 다음에야 낙인을 찍을 수 있습니다

 

10. 불편한 점

 
이 게임의 가장 큰 단점은 대사가 스킵이 안되는 것입니다.
보스와 전투가 시작될 때 사실 이미 큰 데미지를 준경우도 있고 스토리상 중요한 것도 아닌데 매번 저 개성 넘치는 대사를 듣고 있어야 합니다.
전투가 대사 끝나자마자 시작하기 때문에 딴데 보고있기도 뭐합니다.
말많은 오크에게 걸리면 약간 고문 받는 기분으로 기다려야 합니다.
반복적으로 대장들을 상대하다보면 심리적으로 좀 지치게 되더라고요.
스킵 기능만 만들었어도 참 좋을 것 같습니다.
 

이거보세요 여러분 이런놈을 5분에 한번씩 만나야 합니다.

 

11. 끝내며

 
반지의 제왕을 배경으로 하여 스케일도 크고 스토리도 웅장하고 즐길 요소도 상당히 많은 게임이였습니다.
스토리나 전투등을 잘 채운 구성의 오픈월드 게임입니다.
앤딩 후에도 네메시스 시스템은 살아있기 때문에 긴시간 즐겁게 했습니다.
오픈월드 대작을 플레이한다면 추천드립니다.
 

반응형
728x90
목차

1. IF 함수

2. 다중 IF문

3. SWITCH 함수

4. IFS 함수

 

엑셀의 논리 함수인 IF와 SWITCH는 논리식을 접수해서 조건부로 동작을 하는 함수입니다.

참과 거짓으로 구성된 논리식은 다양한 상황에 적용 가능합니다.
당연하지만 구조가 잘 잡혀 소스코드로 구성된 것과 비교할 수는 없지만, 엑셀이 접근성이 좋다는 것이 장점이 됩니다.

초보자라면 엑셀 조작과 기능, 기본함수와 IF를 배우면 실전에서 사용가능한 레벨이 됩니다.

논리연산자(=, >, <, >=, <=, <>)와 논리함수들(AND, OR, XOR, NOT)을 사용한 논리함수 IF와 SWITCH에 대해 보시죠.


 

320x100

 

1. IF 함수

 
IF(logical_test, value_if_true, value_if_False) : 논리식(logical_test)이 참이면 value_if_true을 아니면 value_if_False을 반반환한다.
 

  • logical_test : 논리식입니다. True (1)과 False (0)으로 결과가 나오는 논리식이나 숫자(0이 아니면 전부 True)가 사용됩니다. 값을 직접 입력하거나 셀을 참조할 수 있습니다. 문자는 #VALUE 에러를 발생시킵니다.
  • value_if_true : logical_test이 참 / True / 1 혹은 0이 아닌 숫자일때 반환할 값입니다. 문자나 숫자 값을 직접 입력하거나 다른 셀을 참조하거나 연산식이 들어갈 수도 있습니다. 입력하지 않으면 빈칸으로 출력합니다.
  • value_if_False : logical_test이 거짓 / False / 0 일때 반환할 값입니다. 문자나 숫자 값을 직접 입력하거나 다른 셀을 참조하거나 연산식이 들어갈 수도 있습니다. 입력하지 않으면 빈칸으로 출력합니다.

 

예시

IF("a"="b", 10, 0) → a=b가 거짓임 → 결과는 0
IF(10>1, 10, 0) → 10>1은 참임 → 결과는 10
IF(15, "abc", "def") → 15는 숫자로 True로 인식됨 → 결과는 abc

 
엑셀답계 표에서 응용하면 이렇게 됩니다.
기준인 "1500"과 값을 비교해서 크면 "초과" 작으면 "부족"을 출력합니다.
 

 
 

2. 다중 IF문

 
참과 거짓일때 출력하는 [Value_if_True]과 [Value_if_False] 자리에 함수를 입력할 수 있습니다.
이걸 이용하면 IF문은 연속적으로 사용할 수 있는 방법이 있습니다.
 
IF(logical_test, IF(logical_test, value_if_true, value_if_False), value_if_False)
IF(logical_test, value_if_true, IF(logical_test,value_if_true, value_if_False))
 
IF안에 IF를 다시 사용하는 건데 복잡해지는 건 어쩔 수 없지만 그만큼 할 수 있는 일이 많습니다.
능력이 강력하다라고 해야겠네요.

예시

A1 = 10, B1 = 5, C1 = 1
A2 = "A", B2 = "B", C2 = "C"

IF(B1 >3,IF(B1>7,"많음","보통"), "작음") → B1=5는 3보다는 크지만 7보다는 작음 → 결과는 보통
IF(A2="A",IF(B2="B",IF(C2="D","맞았어요","아쉬워요"),"틀렸어요"), "꽝입니다")
→ A2=A는 A이고, B2=B는 B이지만 C2=C는 D가 아님으로 → 결과는 "아쉬워요"

예제가 복잡하지요. 어쩔 수 없습니다. 복잡한 함수니까요.
언어를 배우지 않고도 다중 IF문을 쓰시는게 쉬운건 아닙니다.
제 예시를 복사해서 붙여넣어도 보시고 스스로도 변화를 주시면 고수가 될 것입니다.
 

 
 

3. SWITCH 함수

 
잘하는건 잘 하더라도 역시 다중 IF문은 너무 복잡합니다.
IF와 기능은 다릅니다. IF 쪽이 할 수 있는 일이 더 많아요.
하지만 어떤 경우에는 다중 IF문의 복잡한 피하고 약간 간소화해서 SWITCH를 사용할 수 있습니다.
 
SWICH(expression, value1, result1, [default_or_value2, result2]...) : expression이 value1일 경우 result1을 반환하고 value2일 때는 result2를 반환합니다. 다 없을 경우 default를 반환합니다.
 

  • expression : 비교할 대상입니다.
  • value1 : 비교할 값입니다. expression과 완전히 일치하는지 비교합니다.
  • result1 : value1과 같다면 반환할 값입니다.
  • default_or_value2 : expression이 value1과 다른 경우 비교할 값 value 2입니다.
    result 2가 없다면 마지막에 출력할 값이 됩니다.
  • result2 : value2과 같다면 반환할 값입니다.
  • value3, 4, 5 ... / result3, 4, 5 ... : 계속 추가할 수 있습니다. 126개까지 입력 가능합니다.

이게 복잡한 함수는 아닌데 인수를 계속 쓸 수 있는 특성 때문에 설명이 길어집니다.
예시를 사용해서 이어서 설명 드리겠습니다.
아래는 값을 기준표에서 찾아와서 옆의 점수를 출력하게 되어있습니다.
값 → 기준1, 출력1 → 기준2, 출력2 → ... 이런식으로 계속 비교해서 출력합니다.
마지막 까지 못찾을 때를 대비해서 쌍이 없는 숫자인 default를 넣어 둘 수도 있지만 아닐 수도 있습니다.
입력하지 않으면 빈칸으로 출력합니다.
 

 
SWITCH는 같은 숫자만 비교하기 때문에 크거나 작은 값을 조건으로 사용하는 IF문과 비교됩니다.
IF문쪽이 좀더 강력한 기능이기는 하죠.
하지만 사용조건이 맞으면 SWITCH는 입력하기가 쉬워서 필요없다고는 할 수 없습니다.
 
 

4. IFS 함수

 
오피스2019, 혹은 OFFICE365 최신 버전에서 업데이트된 함수입니다.
이름으로 알 수 있듯이 IF함수를 보강한 함수로 다중 IF문을 좀 더 간소하게 사용하기 위해 만들어졌습니다.
다중 IF문이 사용자에게 필요하지만 너무 길다는 단점을 개발진도 인식하는 모양이네요.
 
IFS([Something_True1, Value_True1,Something_True2,Value_True2,Something_True3,Value_True3, ... )
Something_True1이 참이면 Value_True1을 아니면 Something_True2를 검사해서 참이면 Value_True2를 반환합니다.
 

  • Something_True1 : 논리식입니다. True (1)과 False (0)으로 결과가 나오는 논리식이나 숫자(0이 아니면 전부 True)가 사용됩니다. 값을 직접 입력하거나 셀을 참조할 수 있습니다. 문자는 #VALUE 에러를 발생시킵니다.
  • Value_True1 : Something_True1 이 참 / True / 1 혹은 0이 아닌 숫자일때 반환할 값입니다. 문자나 숫자 값을 직접 입력하거나 다른 셀을 참조하거나 연산식이 들어갈 수도 있습니다. 입력하지 않으면 빈칸으로 출력합니다.
  • Something_True2 : 논리식입니다. Something_True1이 거짓이여야 동작하고 참이면 아예 검토도 되지 않습니다.
  • Value_True2 : Something_True2가 참 / True / 1 혹은 0이 아닌 숫자일때 반환할 값입니다. 이전에 참이면 아예 실행되지 않습니다.
  • 조건은 계속 뒤로가면서 입력할 수 있으며, 126개까지 입력이 가능합니다.

 
조건이 거짓이면 계속 뒤로 넘어가는 함수입니다.
조건이 126개 정도면 글자수가 단편소설 분량이 나올 것 같습니다. 사람이 쳐서 만드는 경우는 없을 것 같네요.
아래 예시를 보겠습니다.
 

참인지를 검사해서 계속해서 뒤로 넘어가게 됩니다.
=IFS(C3>=4.5,"A+",C3>4,"A",C3>3.5,"B+",C3>3,"B",C3>2.5,"C+",C3>2,"C",C3>1.5,"D+",C3>1,"D",C3>=0,"F")
 
이 함수의 단점 2개를 가지고 있습니다.
 

  1. 모든 조건이 아닐 경우 #N/A 에러가 출력됩니다. 에러 역시 엑셀의 출력값이지만 보기 싫을 수 있습니다.
    그럴 때는 조건을 다 쓰고 마지막에 =IFS(... ,1,"-") 이라고 입력하면 되겠죠. 다 해보고 아니면 "-"를 출력하니까요.
  2. 조건이 많아질 수록 순서나 입력이 틀리면 의도하지 않는 결과가 날 수 있습니다. 이건 어쩌면 이렇게 복잡한 함수를 사용하면서 필연적인 것일 수 있습니다.

 
 

반응형
728x90
목차

 

1. 블록 만들기

2. 블록 삽입하는 법

3. 블록 편집하는 법

4. 블록 해제하기

5. 블록의 사용

 

오토캐드로 작업하다보면 같은 모양을 반복적으로 여기저기 사용해야 할 수도 있습니다.

복사 - 붙여넣기가 있기는 하지만 좀 더 편리한 블록이라는 관리기능을 지원합니다.

사용하는 방법을 순서대로 보도록 하겠습니다.

이 포스팅은 캐드 2023 버전에서 작성되었습니다. 이 버전부터 인터페이스가 바꼈습니다.

명령어등은 동일하지만 매뉴의 모양이 다를 수 있는 점 참고바랍니다

 

단순해도 매번 그리기는 번거롭습니다

 

320x100

 

 


1. 블록 만들기

 

① 블록으로 만들 개체들을 선택하고 명령어 "BLOCK" 혹은 "B"를 입력합니다.

선택은 나중에도 할 수 있는데 미리 하는 쪽이 깔끔하더라고요.

 

 

②  블록 정의 창에서 "이름"을 입력하고 "선택점"을 선택합니다.

이름은 과거에 사용했던 것이랑 겹치지 않게 합니다.

선택점은 블록을 삽입하거나 선택할 때 기준이 됩니다.

예제에서는 보기 좋은 아무 곳으로 선택했지만 중앙이나 편한 한쪽 구석을 선택하면 됩니다.

 

 

③ 확인을 누르면 블록이 완성됩니다.

블록 정의 창에서 객체를 선택할 수 있지만 우리는 이미 선택을 하고 왔으니 바로 확인을 누릅니다.

객체의 기준점이 선택점에 위치하는 것을 볼 수 있습니다.

 

 

 


2. 블록 삽입하는 법

 

① 명령어는 "INSERT" 혹은 "I"를 사용합니다.

 

 

② 블록 관리 창에서 설정을 확인합니다.

축척이나 회전등을 확인하고 블록을 선택합니다.

 

 

③ 드레그 앤 드롭으로 끌어서 놓으면 블록이 도면으로 이동합니다.

쉬운 삽입 방법입니다. 기준점을 잡고 움직여서 도면에 위치할 수 있습니다.

 

 


3. 블록 편집하는 법

 

① 블록을 마우스 오른쪽 키로 선택합니다.

블록 편집기를 선택합니다.

 

 

② 블록 편집기 화면으로 이동합니다.

여기서 작도 할때처럼 평범하게 블록을 편집할 수 있습니다.

 

 

③ 저장하고 닫고 나옵니다.

도면상에 있는 같은 블록은 전부 같이 변합니다.

편리할 수도 있지만 하나만 바꾸고 싶을때는 주의해야 합니다.

 

 


4. 블록 해제하기

 

일부 모양을 변경하고 싶거나 블록 편집기를 통해 변경할 때 전부 편집 되는 것을 원하지 않을 때 사용합니다.

 

① 블록을 선택하고 EXPLODE 혹은 X 명령어를 입력합니다.

이렇게 하면 블록이 깨집니다.

 

 

② 블록을 해제 안될때 확인할 것

블록을 처음만들때 분해허용이 꺼져있었다면 해제되지 않습니다.

해제 할 일이 없을 줄 알고 허용을 꺼두었다면 변경을 해야합니다.

 

 

② 블록을 해제 안 될때 설정

블록 편집기로 들어가야합니다. 왼쪽에 있는 매뉴에서 분해 허용을 변경할 수 있습니다.

이게 왼쪽 아래쪽에 있는 매뉴라서 바로 안보일 수 있습니다.

창을 내려서 찾아야 합니다.

 

 


5. 블록의 사용

 

사용법이 많은 기능이고 사람에 따라 재미있는 활용도 있을 껍니다.

개인적으로 저는 글자에 많이 사용합니다.

시험도 다양하고 규격번호도 많으니 매번 새로 작성하는 것은 힘들고, 복붙도 위험합니다.

미리미리 큰 분류별로 도면 주석 혹은 관련 규정을 블록화 시켜두면 필요할 때 필요한 것만 수정하면 되니까요.

 

 

 

 

반응형
728x90
목차

1. 함수를 시작하는 연산자

2. 함수의 목록 보는 법

3. 함수의 구성

4. 상대참조와 절대참조

5. 참조의 이동

 

 

엑셀은 스프레스시트 프로그램으로서 글자를 쓰고 문서를 꾸미는 "워드프로세서"라고 하기에는 부족하고,

그렇다고 많은 양의 데이터를 보관, 분류, 사용하는 "데이터베이스"라고 하기에도 애매합니다.

그러나 세계 그 어느 워드프로세서나 데이터 베이스보다 많이 쓰이는 이유는 바로 이 함수기능에 있다 봅니다.

그래서 엑셀을 배울 때 표 형식으로 된 엑셀의 인터페이스에 익숙해지면 바로 함수를 배우게 됩니다.

 

오늘은 엑셀을 처음 배우시고 있는 분이 볼만한 내용을 포스팅 하고자 합니다.

뭐든 처음에는 거부감이 들 수 있지만 엑셀은 많은 사람들이 사용하는 만큼 처음 쓰는 분도 금방 익힐 수 있습니다.

 

320x100

 

1. 함수를 시작하는 연산자  = 

 

엑셀의 네모난 데이터 입력칸에 =을 입력하면 바로 함수가 시작됩니다.

키보드를 움직이거나 셀을 선택하면 참조영역이 움직입니다.

 

 

이 상태에서 사칙연산자 - +(더하기), -(빼기), *(곱하기), /(나누기)를 누르고 다음셀을 선택하면 최초의 함수가 완성됩니다.

함수를 입력하면 셀에는 함수의 결과 값이, 상단의 수식바에 함수내용이 입력됩니다.

F2 혹을 셀을 더블 클릭하면 함수가 참조하고 있는 셀이 시각적으로 표시 됩니다.

 

 

 

2. 함수의 목록 보는 법

 

사칙연산 말고도 엑셀이서 지원하는 함수는 상당히 많습니다.

전부 다 알수도 필요도 없고 자주사용하는 것 위주로 알면 됩니다.

 

 

수식바의 fx 버튼을 누르면 지원하는 함수의 목록을 볼수 있습니다.

설명이 친절하다고는 못해도 잘 나와있습니다.

엑셀을 시작하시는 분이라면 이 창을 한번 들려보기는 바랍니다.

주제별로 함수들이 분류가 되어 있습니다.

 

 

3. 함수의 구성

 

함수는 이름(값) 으로 이루어져 있습니다.

값을 하나 혹은 여러가지로 필수요소와 선택요소로 나누는데 필수요소는 없으면 함수자체가 실행되지 않고,

선택요소는 입력하지 않다고 기본값이 입력되어 있어 사용할 수 있습니다.

각각의 요소는 쉼표를 기준으로 나누어 집니다.

입력은 아래와 같습니다.

함수를 입력하는 동안 아래에 작은 창에서 함수가 동작 중이고 인자의 이름을 표시하여 도와줍니다.

 

ROUND(number, num_digits) : 숫자를 반올림 합니다.

 

  • number  : 반올림 할 숫자입니다.(필수요소)
  • num_digits  : 인수를 반올림할 자리수 입니다.

 

number - 반올림할 숫자는 직접 숫자로 입력해도 되고 다른 셀에서 가져와도 됩니다.

아래 사용 예를 보면 위에는 셀 A3의 값을 따라오거나 2.33333이라는 숫자를 직접 입력했습니다.

 

 

 

4. 상대참조와 절대참조

 

함수의 사용에는 익숙해지는 연습이 필요합니다.

함수의 사용법 중에 값을 입력하는 방법을 더 알아보겠습니다.

SUM 함수로 예로 설명하겠습니다.

 

SUM(number1,[number2],...) : 참조하고 있는 값을 전부 더합니다.

 

  • number1 : 더할 숫자를 입력합니다. 셀이나 셀의 범위 혹은 값이나 값들을 넣을 수 있습니다.
  • number2-255 : 추가 숫자, 셀 참조 또는 추가할 범위(최대 255개)

 

참조하고 있는 셀 값은 복사에서 붙여 넣으면 움직입니다.

아래 그림으로 설명하겠습니다.

위에 있는 셀을 선택하면 붙여 넣으면 붙여 넣는 위치에 따라서 참조하고 있는 셀도 움직입니다.

복사해서 아래 한칸에 붙여넣으면 참조범위도 아래 한칸씩 움직입니다.

이것이 상대참조입니다.

상대참조

이렇게 복사 붙여넣기 따라서 범위를 움직이지 않게 하는 것이 절대 참조입니다.

범위를 선택하고 F4키를 입력하면 절대참조 상태가 됩니다.

연속으로 F4를 클릭하면 행이나 열에만 걸어둘수 있는데 또 범위에 $를 직접 입력해도 같은 효과가 납니다.

 

 

5. 참조의 이동

 

함수에서 값이나 값의 범위를 입력한는 방법은 4가지가 있습니다.

 

엑셀 함수는 값이나 범위 255종류까지 입력이 가능합니다.

한계가 있는 것 같지만 상당히 많은 양으로 다 쓰는 경우는 아주 드믈것 같습니다.

  • 범위입력 : 범위로 입력하면 계산을 계산대로 수행하면서 1 종류로 칩니다.
    가장 쉬운 입력방법이지만 범위는 엑셀 내에서 전부 붙어있어야 합니다.
  • 각 셀의 입력 : 셀을 따로 따로 입력할 수 있습니다. 떨어져있는 셀을 입력할 수 있어 편리합니다.
    각각 한 종류로 칩니다. 범위와 셀을 따로따로 넣을 수도 있습니다.
  • 숫자들의 입력 : 숫자을 직접하나씩 입력합니다. 이 경우 숫자 하나가 한 종류가 됩니다.
  • 배열의 입력 : 중괄호인 {}안에 숫자들을 쓰면 배열이됩니다. 이 배열은 하나의 배열이 한 종류입니다.
    말 장난하는 것 같지만 배열은 고급 함수에서 중요한 존재가 되니 이 기회에 알아만 두세요

각 입력방법


알고 있는 내용을 최대한 포스팅 하고 싶습니다.

이미 아시는 분이 많기는 하지만 초보자를 위한 내용을 다루어 보았습니다.

 

 

반응형
728x90
목차

1. COPY : 복사하기 

2. 범위.PasteSpecial : 선택하여 붙여넣기

3. XlPasteType 형식 : 어느것을 선택하여 붙여 넣을지

4. XlPasteSpecialOperation 형식 : 연산하여 붙여넣기

 

엑셀은 워드프로세서이기도 하여 복사하여 붙이는 기능이 자주 사용됩니다.
가장 많은 컴퓨터 사용자가 쓰는 기능이 Ctrl + C / Ctrl + V가 아닐가 싶네요
VBA에서도 사용법을 알아두면 편합니다. 복사하여 붙어넣기를 어떻게 하는지 포스팅합니다.
 
 

1. COPY : 복사하기 

 
단일 셀이나 범위를 선택하고 복사를 합니다.
엑셀에서 셀 복사는 특수한 기능입니다.
복사를 하면 셀주위에 점선이 돌고 있고, 값이 클립보드에 들어가게됩니다.

엑셀의 값은 눈에 보이는 글자 뿐 아니라 셀의 색, 글자체등 정보들이 다 들어가기 때문에 양이 좀 됩니다.
이 상황에서 다른기능을 활성화하거나 셀에 글자를 쳐 넣으면 클립보드에 들어간 정보가 사라집니다.
그래서 EXCEL의 COPY는 항상 직후에 붙여넣기가 들어가야 합니다.

Range("B3").Select      ' 복사할 셀을 선택합니다.
Selection.Copy             ' 선택한 셀 복사
Range("B12").Select    ' 붙여넣을 셀 선택
ActiveSheet.Paste        ' 붙여넣기

셀을 선택하여 활성화 시키고 ActiveSheet.Paste 명령어를 통해 붙여 넣습니다.
이게 불편한게 COPY 할때는 Selection 명령어가 들어가는데 Paste는 ActiveSheet의 매개변수로 동작합니다.

 

320x100


 

2. 범위.PasteSpecial : 선택하여 붙여넣기

 
VBA에서는 선택하여 붙여넣기가 더 편합니다.
이 명령어는 옵션이 많은데 기능을 하나씩 보도록 하겠습니다.
 
expression.PasteSpecial (Paste, Operation, SkipBlanks, Transpose)
 

  • Paste : 셀에는 서식, 값, 수식등 다양한 값이 있습니다. 셀의 어떤 값을 붙여 넣을 선택합니다.
    XlPasteType 형식에서 선택하여 입력하며 이 형식은 아래에 추가 설명하겠습니다.
  • Operation : 붙여넣으면서 연산을 수행할지, 어떤 연산을 할지 선택합니다.
  • XlPasteSpecialOperation : 형식에서 선택하여 입력하며 이 형식은 아래에 추가 설명하겠습니다.
  • SkipBlanks : 복사한 셀 중 빈 셀이 있을때 빈 셀을 붙여 넣을지 결정합니다.
    (True : 붙여넣기 하지 않는다., False : 붙여넣는다., 기본값은 False)
  • Transpose : 붙여넣으면서 행열 바꾸기를 수행할 지를 선택합니다.
    (True : 행열을 바꿈, False : 행열을 교체하지 안고 그대로 넣습니다. 기본값은 False)

 
아래 예시는 가장 많이 쓰는 "값만 붙여넣기" 입니다.

 

Sub ex2()

    Range("E3:G4").Select	
    Selection.Copy		'선택한 셀을 카피합니다.
    Range("E8").Select		'복사할 위치를 선택합니다.
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, __
    Transpose:=False
    '값만 선택하여 붙여넣기를 실행합니다.
    
    Application.CutCopyMode = False	'복사한 셀들에서 복사 모드를 취소합니다.
    
End Sub

 

Tip. Application.CutCopyMode = False는 복사하려고 선택된 범위를 취소합니다.
VBA 코드가 길어지거나 종료되고 사용자가 실수로 Enter등을 눌러서 오류가 나는 것을 방지할 수 있습니다.
 

 

3. XlPasteType 형식 : 어느것을 선택하여 붙여 넣을지

 
엑셀 인터페이스에서 선택이 가능한 부분으로 선택하여 붙여넣기를 할 수 있는 여러가지 옵션입니다.
VBA에서 어떻게 쓰는지 알아보겠습니다.

 

 
VBA 선택하여 붙여넣기의 XlPasteType들 ()안은 코드번호입니다.
 

  • xlPasteAll(-4104) : 모든 것을 붙입니다.(이때 열너비 제외합니다.)
  • xlPasteAllExceptBorders(7) : 테두리를 제외한 모든 것을 붙입니다.
  • xlPasteAllMergingConditionalFormats(14) : 모두 붙여넣고 조건부 서식이 병합됩니다.
    모두 붙여넣기로도 조건부 서식이 붙여넣어 집니다.
  • xlPasteAllUsingSourceTheme(13) : 소스테마를 포함하여 모든것이 붙여넣어 집니다.
  • xlPasteColumnWidths(8) : 열너비만 붙여넣습니다. 다른기능에서 열너비는 붙여넣지 않음으로 이건 독립적으로 사용해야 합니다. 내용은 안 붙이지만 서식을 만들때는 빈도가 높습니다.
  • xlPasteComments(-4144) : 메모만 붙여 넣습니다.
  • xlPasteFormats(-4122) : 표현형식이나 글자색 같은 서식만 붙여 넣습니다.
  • xlPasteFormulas(-4123) : 수식만 붙여 넣습니다.
  • xlPasteFormulasAndNumberFormats(11) : 수식과 숫자 서식이 복사 됩니다.
  • xlPasteValidation(6) : 유효성 검사만 붙여 넣습니다.
  • xlPasteValues(-4163) : 값만 붙여넣습니다.
  • xlPasteValuesAndNumberFormats(12) : 값과 숫자서식만을 붙여 넣습니다.

 

 

 

4. XlPasteSpecialOperation 형식 : 연산하여 붙여넣기

 
연산하여 붙여넣기를 실행하고 또 연산을 어떻게 할지 선택합니다.
 

  • xlNone(1) : 계산기능을 수행하지 않고 일반적으로 붙입니다.
  • xlPasteSpecialOperationNone(-4142) : 계산기능을 수행하지 않고 일반적으로 붙입니다.
  • xlPasteSpecialOperationAdd(2) : 문자는 복사되지 않고 숫자는 기존 숫자에 더해집니다.
    20이 있는 셀에 10을 복사해서 붙여 넣으면 30이 됩니다.
  • xlPasteSpecialOperationSubtract(3) : 문자는 복사되지 않고 숫자는 기존 숫자에 뺍니다.
    20이 있는 셀에 10을 복사해서 붙여 넣으면 10이 됩니다.
  • xlPasteSpecialOperationDivide(5) : 문자는 복사되지 않고 숫자는 기존 숫자에 나눕니다.
    20이 있는 셀에 10을 복사해서 붙여 넣으면 2이 됩니다.
  • xlPasteSpecialOperationMultiply(4) : 문자는 복사되지 않고 숫자는 기존 숫자에 곱합니다.
    20이 있는 셀에 10을 복사해서 붙여 넣으면 200이 됩니다.

 
명령어를 직접 넣을 수도 있고 위에 설명에 ()안의 코드를 넣을 수도 있습니다.
코드를 넣으면 짧아집니다. 아래 두줄의 소스는 정확하게 같은 기능을 수행합니다.

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=-4104, Operation:=-4142, SkipBlanks:=False, Transpose:=False

 
 

반응형
728x90
목차

1. Send, {Click} - 마우스를 입력해서 클릭하기

2. MouseMove - 마우스 움직이기

3. MouseClick - 마우스 클릭하기

4. MouseClickDrag - 드레그 앤 드롭

5. MouseGetPos - 마우스의 정보를 입력

 

오토핫키는 매크로를 만드는데 최적화 되어있습니다.

매크로를 만들려면 입력 기능을 다루어야 하는데 키보드는 따로 포스팅 했습니다.

오늘은 마우스에 대해서 알아보겠습니다.

마우스를 컨트롤하기 위한 좌표계도 이전에 포스팅 했으니 참고하세요.

 

320x100

 

 

1. Send, {Click} - 마우스를 입력해서 클릭하기

 

Send 기능으로 마우스도 컨트롤 할 수 있습니다.

 

① 기본적인 옵션은 Click입니다.

 

Send, {Click X좌표, Y좌표, 클릭횟수}
Send, {Click 200, 100, 0} ; 커서를 좌표계 (200, 100)으로 옮깁니다.(0번클릭)
Send, {Click 500, 300, 2} ; 커서를 좌표계 (500, 300)으로 옮겨 2번 클릭합니다.

 

② SetMouseDelay, Delay [, Play]

 

SetKeyDelay과는 기능과 사용법이 같지만 마우스동작에만 별도로 작용합니다.

 

SetMouseDelay, Delay [, Play] : 마우스의 각동작에 딜레이를 입력합니다.

 

  • Delay : ㎳ 단위의 대기시간입니다. 마우스를 움직이고 클릭하는 사이에 얼마나 기다릴 것인지 지정합니다.
    -1은 시스템적으로 시간이 없고 0은 가능하면 적게 지연됩니다.
  • Play : Play라고 입력하면 Play모드에 지연시간을 입력할 수 있습니다.
    여기서 입력하지 않으면 SendPlay는 언제나 지연시간이 -1(즉시 실행)입니다.  

 

③ 그외 마우스의 기본적인 기능

 

명령어의 영어단어가 직관적입니다. 설명은 필요없지만 저는 오타가 많아서 복사 붙여넣기로 사용합니다.

 

{WheelDown} - 휠내리기, {WheelUp} - 휠올리기, {WheelLeft} 휠왼쪽, {WheelRight} - 휠오른쪽, {LButton} - 왼쪽클릭, {RButton} - 오른쪽클릭, {MButton} - 휠버튼, {XButton1} - 옵션버튼1, {XButton2} - 옵션버튼2

 

Send, {Click 700, 400, 0} ; 커서를 좌표계 (700, 400)으로 옮깁니다.
Send, {WheelDown down} ; 마우스 휠을 내리는 상태로 고정합니다.
Sleep, 500 ; 500 ㎳ 기다립니다.
Send, {WheelDown up} ; 마우스 휠을 내리는 상태를 멈춥니다.

 

 

2. MouseMove - 마우스 움직이기

 

MouseMove X, Y [, Speed, Relative] : 마우스를 움직입니다.

 

  • X, Y : 마우스를 이동하고 싶은 위치
  • Speed : 마우스의 이동속도, 입력하지 않아도 기본 속도로 움직입니다. 기본 속도도 변경할 수 있습니다.
  • Relative : 생략하면 기본적인 창좌표계를 사용합니다. "R"을 입력하면 상대위치로 변경됩니다.
    지금 위치에서 상하좌우로 X, Y만큼 움직입니다.

 

 

 

3. MouseClick - 마우스 클릭하기

 

MouseClick [WhichButton, X, Y, ClickCount, Speed, DownOrUp, Relative] : 마우스를 이동한 후에 클릭합니다.

 

  • WhichButton : 클릭을 할 버튼입니다. 기본적으로는 Left(왼쪽클릭)입니다.
    Right(오른쪽 클릭), Middle(중간클릭), 그외 추가 옵션 버튼이 있으면, X1, X2라고 입력하면 됩니다.
    WheelUp / WU은 휠을 위로 돌리는 기능을, WheelDown / WD 는 휠을 아래로 합니다.
    WheelLeft (WL) / WheelRight (WR) 휠을 왼쪽, 오른쪽으로 돌립니다.(구형 휠을 가진 마우스가 있기는 하죠)
  • X, Y : 클릭하기 전에 이동할 좌표입니다. CoordMode로 좌표계의 모드를 변경할 수 있고, 기본값은 창좌표계입니다.
  • ClickCount : 마우스를 클릭할 횟수인데 휠을 선택한 경우 휠도 여러번 돌립니다.
  • Speed : 마우스가 움직이는 속도를 결정합니다. 속도의 범위는 0 (순간이동)부터 100 (가장 느림)까지입니다.
    생략하면 기본속도가 적용됩니다.
  • Down / Up : Down(D)은 별도 명령이 있을때까지 누르는 것이고 UP(U)는 마우스를 떼는 명령입니다.
  • Relative : 생략하면 기본적인 창좌표계를 사용합니다. "R"을 입력하면 상대위치로 변경됩니다.
    지금 위치에서 상하좌우로 X, Y만큼 움직입니다.

 

 

4. MouseClickDrag - 드레그 앤 드롭

 

MouseClickDrag WhichButton, X1, Y1, X2, Y2 [, Speed, Relative] : 마우스의 드레그 앤 드롭을 실행합니다.

일단 목표 위치(X1, Y1)로 이동해서 클릭해서 누른채로 다시 (X2, Y2)로 이동한 후에 놓습니다.

 

  • WhichButton : 클릭을 할 버튼입니다. 이 명령에서는 꼭 입력해야 합니다.
    Left(왼쪽), Right(오른쪽 클릭), Middle(중간클릭), 그외 추가 옵션 버튼이 있으면, X1, X2라고 입력하면 됩니다.
  • X1, Y1 : 시작할 위치의 마우스의 좌표입니다. 먼저 이곳으로 이동한 후에 시작합니다.(기본은 창좌표계입니다.)
  • X2, Y2 : 마우스를 클릭한 후에 이동하는 좌표입니다.(기본은 창좌표계입니다.)
  • Speed : 마우스가 움직이는 속도를 결정합니다. 속도의 범위는 0 (순간이동)부터 100 (가장 느림)까지입니다.
    생략하면 기본속도가 적용됩니다.
  • Relative : 생략하면 기본적인 창좌표계를 사용합니다.
    "R"을 입력하면 상대위치로 변경됩니다. 먼저 지금 마우스 커서에서 X1, Y1 만큼 이동합니다.
    그런 후 지정한 마우스 버튼을 클릭한 상태에서 X1, Y1를 기준으로 X2, Y2 만큼 다시 이동합니다.

 

 

5. MouseGetPos - 마우스의 정보를 입력

 

MouseGetPos &OutputVarX, &OutputVarY, &OutputVarWin, &OutputVarControl, Flag : 마우스의 위치의 정보를 얻습니다. 위치정보에는 마우스의 좌표와 마우스 아래에 있는 프로그램의 이름등이 있습니다.

 

  • &OutputVarX, &OutputVarY : 여기 적힌 변수명을 이름으로 X, Y의 좌표를 입력합니다. Coordmode로 좌표계를 변경할 수 있지만 기본 값은 창좌표계입니다.
  • &OutputVarWin : 마우스 아래에 있는 프로그램의 고유 ID를 변수에 입력합니다.
    창이 감지되지 않으면 값을 빈값으로 취급합니다. 활성화 되지 않아도 마우스 커서 아래에 있는 창을 감지합니다.
  • &OutputVarControl :  마우스 아래에 있는 프로그램의 이름(Class NN)을 변수에 입력합니다.
    창이 감지되지 않으면 빈값으로 취급합니다. 활성화 되지 않아도 마우스 커서 아래에 있는 창을 감지합니다.
  • Flag : 고유 ID나 Class NN을 얻는 방법입니다. 생략하면 0(기본값)입니다.
    1 : Class NN - OutputVarControl 알아내는데 다중 문서 인터페이스를 활성화 합니다.
    (컨트롤 안에 컨트롤은 어렵습니다.)
    2 : 콘트롤의 ClassNN이 아니라 콘트롤의 HWND를 OutputVarControl에 저장합니다.
    3 : 옵션 1과 2를 모두 사용합니다.

 

반응형
728x90
목차

1. AUTOHOTKEY의 좌표계

2. CoordMode - 좌표계 지정 명령어

 

평소에는 컴퓨터 상의 좌표를 신경 쓸까 싶습니다.

하지만 메크로 작성을 위해서 마우스나 창의 좌료를 알아야 합니다.

오토핫키의 각종 기능에 관여하는 좌표계에 대해서 알아보겠습니다.

※ WINDOW SPY로 좌표를 보는 방법은 아래 링크를 참고해 주세요

링크 : Auto Hot Key 2.0의 파트너 Window Spy로 마우스 위치, 색상, 프로그램 이름 알아내기

 

320x100

 

 

1. AUTOHOTKEY의 좌표계

 

① 절대좌표계 혹은 스크린 좌표계(Screen Coordinate) - 모니터 전체의 좌표계입니다.

왼쪽 맨위를 (0, 0)으로 합니다.

오른쪽으로 가면 X가 +로 아래로 가면 Y가 +로 숫자가 증가합니다.

따라서 오른쪽 아래가 가장 숫자가 큽니다.(해상도 전체)

 

② 상대좌표계 - 활성화 되어있는 창의 좌표계입니다.

오토핫키에서 상대좌표계(Relative Coordinate)와 창좌표계(Window Coordinate)는 같은 기능을 합니다.

상대적이다는 Relative 는 다른 명령어랑 혼돈이 올 수 있으니 Window 명령어를 권장합니다.

창의 왼쪽 상단을 기준으로 합니다.

창이 움직이면 움직이고, 창 외부로 나가면 음수가 될 수 있습니다.

 

 

③ 클라이언트 좌표계(Client Coordinate) - 클라이언트 영역의 좌표계입니다.

오토핫키에서 클라이언트 영역은 창(WINDOW) 내부의 제목 바와 매뉴창과 테두리를 뺀영역입니다.

실제 사용하는 영역이라고 봐도 됩니다.

 

 

 

2. CoordMode - 좌표계 지정 명령어

 

좌표계를 사용하는 모드를 변경하고, 적용되는 영역을 변경합니다.

 

CoordMode, TargetType [, RelativeTo] : 기능이나 명령어에 좌표계를 지정합니다.

 

TargetType : 좌표계가 어느 기능이나 명령어에 영향을 줄지 결정합니다. 아래값 중 하나를 입력합니다.

 

  • ToolTip: 최상 위에 있는 창을 만드는 명령어 ToolTip(가장 위의 창)에 작용합니다.
  • Pixel: 이미지나 픽셀을 찾고 위치나 색을 지정하는 명령어에 작용합니다. - PixelGetColor, PixelSearch, ImageSearch
  • Mouse: 마우스를 를 움직이거나 클릭하는 명령어에 작용합니다. - MouseGetPos, Click, MouseMove/Click/Drag
  • Caret: 내장 변수인 A_CaretX / A_CaretY에 작용합니다.
  • Menu : 메뉴기능을 마우스 위치에 출력하는 Menu Show에 작용합니다. 

 

RelativeTo : 어떤 좌표계를 사용할지 결정합니다. 기본값은  절대좌표, 스크린좌표계입니다.

각 좌표계에 대한 설명은 위에 한 것과 같습니다.

 

  • Screen : 절대 좌표계 = 스크린 좌표계(Screen Coordinate)입니다. 기본값입니다.
  • Relative : 상대좌표계(Relative Coordinate)입니다. Window와 같습니다.
  • Window : 창좌표계(Window Coordinate)입니다. Relative와 같습니다.
  • Client : 클라이언트 좌표계(Client Coordinate)입니다.

 

CoordMode, ToolTip, Screen ; 툴팁을 절대 화면 좌표에 배치
CoordMode, ToolTip, Window ; 툴팁을 상대 좌표에 배치

 

 

좌표계는 익숙해지면 편해집니다. Window spy라는 보조툴도 제공하니까 금방 적응 될 것입니다.

반응형
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(즉시 실행)입니다.  

 

 

 

반응형

+ Recent posts