본문 바로가기

마우스 매크로

엑셀 매크로에서 Foreach 반복 액션을 사용해서 텍스트 또는 엑셀 반복하는 방법

반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

  • 엔지엠 무료: 무료 (전체 기능의 50프로)
  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에는 [ For 반복 ]과 [ Foreach 반복 ] 2종류가 있습니다. 이외에도 반복하는 방법은 몇가지 더 존재합니다. 용도에 맞게 사용하면 되겠지만, [ 액션 이동 ]이나 [ 액션 반복 ]은 텍스트나 엑셀 또는 CSV 파일을 읽어서 처리하는 로직을 추가로 개발해야 합니다. 그래서, 간단하게 텍스트나 엑셀을 읽을 때는 Foreach 반복 액션을 사용하는게 더 효율적일 수 있습니다. 아래와 같은 텍스트 파일을 하나 생성하세요.

안녕하세요.
엔지엠소프트웨어입니다.

엔지엠 에디터
엔지엠 플레이어
엔지엠 디자이너
엔지엠 프레임워크

 

첨부되어 있는 "Foreach 반복 테스트 1.ngs"를 열어주세요. 이 스크립트는 텍스트 파일의 내용을 읽어와서 변수에 추가하고, 반복하면서 좌측의 메모장에 입력하는 예제입니다.

 

 

실행하면 아래와 같은 동작을 확인할 수 있습니다.

 

 

텍스트 파일에 있던 내용이 메모장에 동일하게 입력되는걸 확인할 수 있습니다. 내용이 없는 빈 문자열을 삭제하려면 아래와 같이 처리할수도 있습니다.

 

 

만약, 열과 행으로 처리하고 싶으면 어떻게 해야 할까요? 구분자를 이용하면 됩니다. 텍스트 파일을 아래와 같이 변경하세요.

안녕하세요.
엔지엠소프트웨어입니다.

엔지엠 에디터, 엔지엠 플레이어
엔지엠 디자이너, 엔지엠 프레임워크
 

 

Foreach 반복 액션의 "아이템 분리자"의 속성 값이 콤마(,)입니다. 콤마로 분리해서 처리할 수 있습니다. 아래 동영상을 보면 콤마로 분리되기 때문에 2차원 배열로 생성된걸 확인할 수 있습니다. 2차원으로 처리되다보니 의도하지 않게 첫번째줄과 두번째줄에 줄바꿈이 생기게 되었습니다. 이 문제를 어떻게 해결해야 할까요?

 

 

아래와 같이 빈 문자열인 경우 건너뛸 수 있도록 조건을 추가하면 됩니다. 이 스크립트는 "Foreach 반복 테스트 2.ngs"를 열어서 확인하세요.

 

 

실행하면 줄바꿈이 사라진걸 확인할 수 있습니다. 조건을 약간 바꿔볼까요? "엔지엠"으로 시작하는 텍스트만 출력해봅시다. [ 텍스트 체크 ] 액션에서 아래 그림과 같이 속성을 변경하세요. 비교할 텍스트에 "엔지엠"을 입력하고, 텍스트 비교 옵션 값을 "StartWith"로 변경하세요. 시작 문자가 "엔지엠"인 것만 가져옵니다.

 

 

엔지엠으로 시작하는 것들만 가져와서 출력하고 있습니다.

 

 

아래와 같은 엑셀 파일을 만드세요.

 

 

아이템 형식을 Excel로 변경하고, 파일도 다시 선택하세요.

 

 

실행하면 동일한 결과를 확인할 수 있습니다. 이는 텍스트, CSV, 엑셀 파일이 모두 동일한 로직을 따르기 때문입니다. 텍스트 파일을 간단하게 엑셀로 변환할수도 있습니다. 텍스트 내용을 아래와 같이 변경해주세요. 그리고, Foreach 반복에서 엑셀을 텍스트로 변경하고, 다시 텍스트 파일을 선택하세요. 이 예제에서 주의해서 봐야할 부분은 숫자값은 큰따옴표로 묶어야 한다는 것입니다. 숫자 값의 콤마와 지수 형태의 값들을 분리자와 구분해서 처리해야 하기 때문입니다.

이름,나이,직업
임꺽정,"4,000",디자이너
홍길동,"27",프로그래머
김철수,"22",코더

 

스크립트를 다시 실행해보세요. 콤마를 구분자로 사용했지만, 임꺽정의 나이 4,000은 구분자 처리가 되지 않았습니다. 이는 큰따옴표로 묶인 값은 구분자 처리에서 제외된다는 것을 알 수 있습니다. 따라서, 좀 더 복잡한 텍스트를 처리해야 한다면 큰따옴표를 이용해야 합니다. 구분자는 중복될 수 있기 때문입니다. 가장 좋은 방법은 원본 문서를 잘 생각해서 포멧을 정하고, 그에 맞게 작성하는것입니다.

 

 

Foreach 반복 액션이 실행되고나면, 속성창의 결과 데이타를 클릭 해보세요. 데이타 테이블 시각화 도구가 표시됩니다. 여기서 다양한 포멧으로 저장이 가능합니다.

 

 

엑셀로 저장하면 아래와 같이 만들어집니다.

 

 

XML은 아래와 같이 처리가 됩니다.

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <NGM>
    <F1>이름</F1>
    <F2>나이</F2>
    <F3>직업</F3>
  </NGM>
  <NGM>
    <F1>임꺽정</F1>
    <F2>4,000</F2>
    <F3>디자이너</F3>
  </NGM>
  <NGM>
    <F1>홍길동</F1>
    <F2>27</F2>
    <F3>프로그래머</F3>
  </NGM>
  <NGM>
    <F1>김철수</F1>
    <F2>22</F2>
    <F3>코더</F3>
  </NGM>
</DocumentElement>

 

내용이 좀 복잡해 보이긴하는데요. 이외에도 다양하게 활용 가능하기 때문에 잘 사용하면 빠르고 간편한 스크립트를 작성할 수 있습니다. 몇몇 제약이 존재하기는 하지만, 복잡한 구성이 아니라면 액션 이동과 각각의 파일 처리들을 개별적으로 만드는것보다는 훨씬 작업 시간이 단축될겁니다.

 

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로

반응형