단계에서 스크립트로
스크립트로 전환할 때
대부분의 작업은 단계로 충분합니다. 단계로는 담을 수 없는 것이 필요할 때 스크립트로 전환하십시오.
- 창을 현재 위치에서 100픽셀 옮기는 것과 같은 산술 연산
- 오늘 날짜가 들어간 파일 이름처럼 여러 조각으로 텍스트 만들기
- 중간에 변수 없이 다른 기본 제공 함수의 필드 안에서 기본 제공 함수 호출
- "처음 5개 창 각각에 대해"처럼 카운터를 사용하는 반복
전환해도 단계는 사라지지 않습니다. 작업은 단계 내용과 스크립트 내용을 나란히 유지합니다 (단계, 스크립트, AutoHotkey).
코드 보기
고급 모드. 단계 편집기 끝에 있는 코드 보기는 단계를 저장된 형태인 텍스트로 보여 줍니다. 코드 숨기기를 누르면 다시 숨겨집니다. 다른 작업을 선택할 때마다 숨겨진 상태로 시작합니다.
- 코드 보기 ②에서 편집하면 텍스트가 올바르게 되는 즉시 위의 단계 행이 다시 작성됩니다.
- 예를 들어 if의 "단계로 이동" 형식을 사용해서 텍스트를 행으로 표시할 수 없으면, 편집기는 코드 보기 링크 없이 코드를 표시합니다. 그때는 이것이 단계를 편집하는 유일한 방법이기 때문입니다. 행 자리에는 그 이유를 설명하는 메시지가 표시됩니다(문제).
- 편집기는 행으로 표시할 수 없는 텍스트를 다시 쓰지 않습니다. 행을 편집하면 텍스트의 주석은 유지되지 않습니다.
텍스트 형식 자체와 모든 종류의 단계 및 그 필드는 단계 엔진에 설명되어 있습니다.
단계를 스크립트로 변환
- 작성 방식에서 스크립트를 선택합니다.
- 작업에 단계가 있고 스크립트 내용이 비어 있으면 단계를 스크립트로 변환하시겠습니까? 대화 상자가 단계를 변환할지 묻습니다. 변환을 클릭합니다.
- 변환 결과가 스크립트 편집기에 나타납니다. 그곳에서 확인하고 마무리하십시오.
단계가 레코더 페이지에서 만든 기록이면 대화 상자에 다음 내용이 추가됩니다. 이 단계는 녹화입니다. 스크립트로 바꾸면 레코더의 재생 속도와 재생 마우스 경로 세부 수준이 무시됩니다. 대기는 녹화된 속도로 실행되고 녹화된 모든 마우스 이동이 재생됩니다. (재생 설정)
변환은 한 방향입니다. 단계는 그대로 남으므로 단계로 다시 전환하면 바뀌지 않은 단계가 보이지만, 스크립트를 다시 단계로 바꾸는 방법은 없습니다.
다음 경우에는 변환이 제공되지 않습니다.
- 스크립트 내용에 이미 텍스트가 있는 경우(덮어쓰게 됨)
- 단계를 행으로 표시할 수 없는 경우
- 조건인 동안 반복, 조건이 될 때까지 반복, 반복 끝내기, 단계 중지 단계가 있는 경우. 스크립트에는 횟수를 세는 반복만 있고, 반복을 벗어나거나 작업을 일찍 끝내는 기능은 없습니다.
각 단계가 바뀌는 형태
| 단계 | 스크립트 |
|---|---|
| 기본 제공 함수 단계 | 문 하나, WindowMaximize(window); |
| 결과 저장 이름이 있는 단계 | name = Builtin(…); |
| 변수 설정 | name = value; |
필드의 $name | $ 없는 이름, name |
| 대상 창 같은 읽기 값 | 호출, ContextGetWindow() |
텍스트 필드 밖의 MouseButton.Primary 같은 명명된 상수 | 이름 그대로 |
| 텍스트 | 백슬래시와 따옴표를 이스케이프한, 따옴표로 묶은 문자열 |
| 빈 필드 | 0이나 "" 같은 그 형식의 빈 값 |
| 조건 / 그렇지 않으면 / 조건 끝 | if (…) { … } else { … } |
| 비교 | a == b 및 다른 연산자. 결과 반전(not) 옵션은 !(…)가 됩니다. |
| 지정한 횟수만큼 반복 | i라는 카운터(i가 이미 사용 중이면 i2 등)를 사용하는 for 반복 |
예를 들어 최대화 또는 복원 예제는 다음과 같이 됩니다.
window = ContextGetWindow();
if (WindowIsMaximized(window)) {
WindowRestore(window);
} else {
WindowMaximize(window);
}
주의할 차이점이 하나 있습니다. 단계에서는 어떤 단계도 저장하기 전에 사용한 변수가 0으로 읽힙니다. 스크립트에서는 텍스트에서 변수를 처음 사용하는 위치보다 위에서 변수에 값을 할당해야 하며, 그렇지 않으면 스크립트가 컴파일되지 않습니다(변수).
기록
매크로 레코더도 기록을 단계로 보여 주며, 같은 방식으로 변환하는 스크립트 단추가 있습니다. 단계로 유지한 기록은 재생 속도 설정을 따르고, 변환한 기록은 기록된 그대로 재생됩니다.