요즘은 휠이 달린 마우스를 많이 들 사용 할테니 마우스 휠을 이용한 위 아래 스크롤은 많이들 하실겁니다. 

그런데 좌우 스크롤도 할 수 있다는거 아시나요?

물론 좌우 스크롤을 하기 위해서는 키보드의 shift 키를 같이 눌러 줘야 합니다.

화면 크기가 확대 된 상태가 되면 좌우 스크롤바가 나타나는데

이때 Shift + Mouse Wheelup 또는  Shift + Mouse Wheeldown 을 해 보면 좌우 스크롤이 동작하는걸 확인 할 수 있습니다. 

크롬에서 해봤는데 잘 되네요. 

그런데 우리가 업무에 많이 활용하는 Microsoft Office 에서는 이상하게 위 단축키가 정상적으로 동작하지 않더군요. 

그래서 다음과 같은 Autohotkey 코드를 만들어 봤습니다.

Microsoft Word,  Excel, Powerpoint 를 위한 단축키이고 visio 에서는 위 단축키가 정상적으로 동작 하길래 만들지 않았습니다.

Shift + Mouse Wheelup 을 하면 오른쪽으로, Shift + Mouse Wheeldown 을 하면 왼쪽으로 스크롤 됩니다.


  1. 노을과보름달 2017.09.29 09:58

    멋진 스크립트 팁 주셔서 감사합니다.
    같은 문제로 고민하다가 해결했습니다.
    단, #IfWinActive, ahk_class XLMAIN 라는 문구가 오토핫키 스크립트에서 맨 아래에 위치해야 하겠더군요.
    안 그러면 기존 설정들 중 일부가 엑셀에서만 작동하는 문제가 있습니다.

    • 남성 2017.09.29 10:00 신고

      도움 되었다니 다행입니다. 방문해 주셔서 감사합니다.

  2. 낌스트 2018.12.01 00:08

    안녕하세요, 늦게나마 포스트 발견하여 autohoekey 잘사용하고 있습니다.
    위에 소스 활용하여 가로스크롤 기능 구현하였는데
    실행은 되나 0x800401e3 경고문구가 뜨고 확인을 눌러줘야합니다.
    조치 방법은 따로 없을까요?

    • 남성 2018.12.01 12:28 신고

      일단 0x800401e3 에러는 경험해 보지못한 에러라 안 뜨게 하는 방법은 모르겠고 warning 등이 뜨면 해당 창의 버튼을 자동으로 눌러서 빨리 닫아주게 하는 방식 등을 사용하는 방법도 있을것 같네요.

  3. 낌스트 2018.12.02 12:37

    혹시 해당창을 닫게하는 소스코드는 어떻게 구현하면 좋을까요?
    autohotkey 초보라 참 어렵네요 ㅠ.ㅜ

    • 남성 2018.12.02 12:55 신고

      해당 창의 정보를 알아야 하니까 Active Window Info 프로그램을 사용하여 해당 창의 class 등을 알아내서 닫게 해주면 되겠죠.

      아래 포스팅에서 소개하는 AHK_Window_Info_v1.7.ahk 를 써도 되고 아니면 Autohotkey를 설치하면 들어있는 Windows spy 프로그램을 써도 됩니다.

      http://iamaman.tistory.com/1246

      0x800401e3 에러가 항상 뜬다고 한다면 winwait 를 해서 해당창을 기다리다가 해당 차이 뜨면 winclose 또는 winkill 을 통해 닫아주게 하거나 send 또는 controlsend 를 통해 확인 버튼을 클릭하게 하면 될겁니다.

      확인 창의 버튼 정보 등도 Active Window Info 프로그램을 사용하여 ClassNN 정보를 확인하면 됩니다. ClassNN 정보를 확인하는 방법등에 대해서는 아래 포스팅을 참조하세요.

      http://iamaman.tistory.com/1387

  4. 낌스트 2018.12.02 15:00

    엑셀 실행시 최초 이 경고창만 뜨고
    예 한번만 눌러주면 이 스크립트는 잘 실행됩니다.
    제가 없애고자 하는 건 이 경고창이 떳을 때 자동으로 예라고 누르는 스크립트를 구현하고 싶습니다.

    해당 경고창의 class는 32770이고
    해당 경고창의 예 버튼은 Button1입니다.

    이코드를 실행시켜도 여전히 경고창이 뜨는데 뭐가 문제일까요?ㅠ.ㅜ

    #IfWinActive, ahk_class #32770 ; MSofficeHScroll.ahk
    WinWait, #32770
    WinActivate, #32770
    Sleep, 100
    ControlClick, Button1, #32770
    return

    • 남성 2018.12.02 15:16 신고

      ahk_class 를 왜 밑에는 안 써주신건지... 모르겠네요.

      WinWait, ahk_class #32770
      WinActivate, ahk_class #32770
      Sleep, 100
      ControlClick, Button1, ahk_class#32770

      이렇게 하거나
      ControlClick 대신에 send {enter} 해도 될 듯 하네요.

  5. 낌스트 2018.12.02 15:29

    사용하는 운영체제가 어떻게 되시나요? 윈도우10 사용중인데 저는 아무리 코드 조합을 해도 엑셀을 껏다켜서 최조 실행하면 저런 메세지창이 뜨네요 엑셀에만!
    오토핫키 포럼에도 찾아보고 했지만 딱히 해결책은 없는 것 같습니다.
    도와주셔서 감사합니다.

    참고로 저 경고창은 엑셀을 실행시키고
    쉬프트랑 마우스를 눌렀을 때 생깁니다.
    예 버튼을 클릭 후 이후, 새로운 엑셀창을 켜더라도 저 메세지는 나오지 않고 실행이 잘됩니다.

    제가 사용한 소스 전문 코드입니다.

    #IfWinActive, ahk_class #32770 ; MSofficeHScroll.ahk
    ControlClick, Button1, ahk_class#32770
    return

    #MaxHotkeysPerInterval 1000#
    #IfWinActive, ahk_class OpusApp
    +WheelDown:: ; scroll right
    ComObjActive("Word.application").ActiveWindow.SmallScroll(0,0,1,0)
    return

    +WheelUp:: ; scroll left
    ComObjActive("Word.application").ActiveWindow.SmallScroll(0,0,0,1)
    return

    #IfWinActive, ahk_class PPTFrameClass
    +WheelDown:: ; scroll right
    ComObjActive("Powerpoint.application").ActiveWindow.SmallScroll(0,0,1,0)
    return

    +WheelUp:: ; scroll left
    ComObjActive("Powerpoint.application").ActiveWindow.SmallScroll(0,0,0,1)
    return

    #IfWinActive, ahk_class XLMAIN
    +WheelDown:: ; scroll right
    ComObjActive("Excel.application").ActiveWindow.SmallScroll(0,0,1,0)
    return

    +WheelUp:: ; scroll left
    ComObjActive("Excel.application").ActiveWindow.SmallScroll(0,0,0,1)
    return

    #IfWinActive

    • 남성 2018.12.02 16:23 신고

      위에 코드 보니까 아래 코드 부분에서

      ControlClick, Button1, ahk_class#32770

      ahk_class 뒤에 공백이 없네요. 아래와 같이 공백이 있어야 할 겁니다.

      ahk_class #32770


      그리고 ahk_class #32770 으로 설정하면 모든 알림창에 대해 클릭을 하게 만드는거라 그리 좋은 설정 방법은 아닌것 같습니다. ahk_class #32770 와 창의 title 을 같이 설정해 주는게 좋을것 같네요.
      예를 들어 아래와 같이 해보시는걸 추천 드립니다.

      ControlClick, Button1, MSofficeHScroll.ahk ahk_class #32770

  6. 낌스트 2018.12.02 15:37

    혹시나 몰라 해당 증상 동영상 첨부해봅니다.

    https://youtu.be/9g1cEKOr0RE

    해결책으로 생각되는게
    1. 엑셀을 실행시키고 나서 ahk 파일이 이후 지연실행되도록 설정하거나
    2. 저 경고창이 자동으로 예라고 눌러지는 소스 스크립트 구현이 필요할 것 같습니다.

  7. 곰훙이 2018.12.27 12:10 신고

    안녕하세요 댓글 달기 위해 휴면해제하고 로그인했네요
    저도 낌스트님과 똑.같.은 현상이 발생합니다
    문제의 원인은 결국 찾아내지 못했고,
    윈도우 포맷한 후에 오피스 재설치, 그리고
    MSOscroll 이라는 엑셀 추가기능으로 가로 스크롤 사용하고 있습니다
    위 코드가 이상하게 엑셀에서만 0x800401e3 에러 뜨고 나머지 ppt, word 에서는 잘 작동하네요

    이 에러에 대해 한 가지 의심스러운게 있는데요,
    아래의 코드를 사용하기 시작한 뒤로 문제가 시작되었습니다.

    ; 비활성창 스크롤되게끔 하는 소스
    *WheelDown::
    CoordMode,Mouse,Screen
    MouseGetPos,x,y,hwnd,ctrl,3
    wp:=0xFF880000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6
    lp:=y<<16|x
    IfWinExist,ahk_id %hwnd%
    {
    SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
    If ErrorLevel=4294967295
    MouseGetPos,,,,ctrl,2
    Loop,%A_EventInfo%
    PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl%
    }
    return
    *WheelUp::
    CoordMode,Mouse,Screen
    MouseGetPos,x,y,hwnd,ctrl,3
    wp:=0x00780000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6
    lp:=y<<16|x
    IfWinExist,ahk_id %hwnd%
    {
    SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
    If ErrorLevel=4294967295
    MouseGetPos,,,,ctrl,2
    Loop,%A_EventInfo%
    PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl%
    }
    return

    물론 제가 만든 코드는 아니고 구글링으로 찾은 것이며, 마우스 오버한 창의 스크롤이 되게끔 하는 코드입니다.
    듀얼모니터 쓰다보니 꼭 필요한 기능인데, 엑셀에서만 유독 비활성창 스크롤이 안되서 쓰기 시작한 뒤로 가로스크롤 문제가 시작되었네요
    혹시 이 코드의 명령어들과 어딘가 충돌나서 발생하는 문제가 아닐까 싶은데..
    아시는 바가 있는지 궁금해서 여쭤봅니다.

    • 남성 2018.12.27 21:11 신고

      위 코드와의 충돌 때문이라면 위 코드들을 실행안하고 했을때는 정상적으로 동작하는건가요? 이 부분에 대해 실험 한번 해 보시는게 좋을것 같네요.

  8. 곰훙이 2018.12.27 12:12 신고

    아참 좋은 AHK 코드들 공유해 주셔서 감사합니다.
    틈날때마다 들여다 보며 공부하고 도움 받고 있습니다.
    앞으로도 잘 부탁드려요~

    • 남성 2018.12.27 21:11 신고

      아 네 별거 아닌 블로그지만 자주 방문해 주세요. 방문해 주셔서 감사합니다. ^^

  9. 곰훙이 2018.12.28 17:43 신고

    답변 감사합니다.
    정황을 설명드리기 복잡한데 문제가 있었을 때 제 상황은..


    (윈도우 포맷& 재설치를 자주 하는 편이며, 아래의 1,2,3은 시간 순서입니다.)

    1. 윈도우10 RS4 (1709), 오피스 2013
    본문 코드로 excel,ppt,word 모두 수평 스크롤 잘 되었습니다
    댓글에 제가 작성한 '비활성창 스크롤 제어' 를 함께 사용(약 10일)하여도 문제없었습니다.

    2. 윈도우10 RS5 (1809), 오피스 2013
    포맷하고 최신 윈도우를 재설치한 후 본문의 수평스크롤 코드를 사용하려하니 에러가 시작되었습니다.
    댓글에 제가 작성한 '비활성창 스크롤 제어' 를 함께 사용 하던 안하던 본문 코드로 수평 스크롤 에러 계속 일어났습니다.

    3. 윈도우10 RS4 (1803), 오피스 2013
    찝찝한건 싫어서 포맷하고 혹시나 해서 윈도우 버전은 다시 내렸지만, 수평스크롤 코드 사용해보니 또 에러가 나더군요
    이젠 포기하고 Github 에서 만든 엑셀 추가기능 MSOscroll.dll 으로 수평 스크롤하고 있으며
    댓글에 작성한 '비활성창 스크롤 제어' 코드는 아예 사용 안하고 있습니다.

    3-1. 에러 문제
    - 엑셀에서 뜨는 저 에러는 새로운 엑셀 창이 열리고 shift+scroll 입력되는 순간, 팝업으로 뜹니다, 팝업 제목은 제 .ahk 파일명으로 뜨며 yes 를 눌러줘야만 합니다.
    - 한번 에러가 뜬 후에는 에러메세지 없이 수평 스크롤 잘 됩니다.
    - 엑셀 파일을 하나 띄운 중에 다른 엑셀 파일 불러오면 또 다시 에러 한 번 뜹니다.
    = *.xlsx 파일을 실행할 때마다 AHK 와 충돌날 만한 작업을 반복하는 것 같습니다.


    error 0x800401E3 은 한 대의 PC 에서만 에러나는게 아니고, 집에 있는 제 개인 pc (윈도우10 RS4 1803, 오피스 2013) 에서도 똑같은 에러 뜹니다.
    '비활성창 스크롤 제어' 코드를 집에선 사용하지 않았기 때문에, 이 코드의 문제라고 말씀드리긴 어렵습니다만
    혹시나 충돌날 만한 명령어들이 있을까 싶어서 AHK 초보자 입장에서 여쭤봤습니다.
    구글링 해봐도 해결책이 없어서 포맷만 여러번 하고 결국 포기했네요

    혹시 나중에 이 문제에 해답을 알게된다면, 여기에 해결 방법 작성하겠습니다 ^^

    • 남성 2018.12.28 19:24 신고

      검색을 해보니 running object table 에 등록이 안되어 있어서 그런거라고 하는데...

      정확히 원인은 잘 모르겠네요.

      될지는 모르겠지만 아래 코드 한번 돌려 보실래요?

      ComObjActive("Excel.application").Windows(1).SmallScroll(0,0,1,0)

    • 남성 2018.12.28 19:32 신고

      그리고 아래 코드도 한번 돌려보실래요?


      ex := ComObjActive("Excel.application")
      ex.Worksheets(1).Activate
      ex.ActiveWindow.SmallScroll(0,0,1,0)

  10. 곰훙이 2018.12.29 04:44 신고

    신경써주셔서 감사합니다 ^^ 먼저 올려주신
    ComObjActive("Excel.application").Window(1).SmallScroll(0,0,1,0) 은
    최초 1회는 0x800401E3 에러 한 번 뜬 뒤로
    그 다음부터는 입력할 때마다 '0x80020006 - 알 수 없는 이름입니다.' 에러가 뜨네요

    두번째 올려주신 것은 구글링으로 찾아서 시도해봤던건데 다시 시도해봤으나, 원래의 증상과 똑같습니다.
    최초 1회 0x800401E3 에러 -> 그 다음엔 에러없이 수평 스크롤 잘됨 -> 엑셀 재실행되면 다시 8x800401E3 에러 (반복)

    원인이 뭘지 참 궁금하네요...;;;

    • 남성 2018.12.29 13:57 신고

      running object table 에 등록이 안되어 그런 거라고 하는데 해당 엑셀 창을 최소화를 했다가 최대화한 이후에 한번 해 보시면 어떨까요?

  11. 낌스트 2019.02.03 21:07

    0x800401E3 에러에 대해 다시 해결해보고자 하는데

    이 에러 치료 방법은 없을 거 같고

    최초 실행시 뜨는 경고창을 자동확인하게끔 하면 제일 좋은 방법일텐데
    여러가지 가르쳐주신 방법으로 해봐도 안되네요

    ControlClick, Button1, MSofficeHScroll.ahk ahk_class #32770

    이 구문을 추가해봐도 여전히 경고창이 떠도 자동으로 '확인'버튼이 안눌러지네요

    쥔장님 자동으로 확인을 누를 수 있는 스크립트 좀 알려주실 수 있으신가요?

    • 남성 2019.02.03 21:32 신고

      일단 위에 작성 하신 명령어가 정확히 맞는지 확인해 봐야 할 겁니다. Active Window Info 를 이용하여 button 의 이름이나 에러 경고창의 이름이 정확한지 확인해 보고 위에 작성하신 ControlClick 명령어만 실행해 보세요. 해서 안되면 그냥 send 명령으로 enter 를 날려되 될 겁니다.

      위에 작성한 class 명이 맞다면 아래와 같이 하면 확인 버튼을 자동으로 누를 수 있지 않을까 싶네요.


      winwait MSofficeHScroll.ahk ahk_class #32770

      WinActivate, MSofficeHScroll.ahk ahk_class #32770

      send {Enter}

  12. 낌스트 2019.02.03 22:33

    어느정도 해결했네요
    실행파일을 두개로 분리하고
    하나는 가로스크롤 구문, 하나는 창 다는 구문을 입력시켜 동시에 실행시키니 잘되네요
    여태껏 하나로 실행시켜서 안됏나보네요
    왜 하나에 파일에 두 구문을 동시에 넣으면 실행이 안되는지는 아직도 의문이지만..
    에러창 뜨는 게 여전히 좀 아쉽지만 그래도 자동종료 구문을 추가하니 아쉬운 대로 써야겟네요
    차기 엑셀에서는 꼭 가로스크롤 구문을 지원해줬으면 하네요
    감사했습니다.

    • 남성 2019.02.04 02:29 신고

      지금은 완벽하지 않더라도 하나 하나 해결하다 보면 다음에는 조금더 완벽한 해결 방법을 찾을 수 있을 겁니다. 자주 방문해 주세요. ^^

현재 visio 2013 버전을 사용하고 있으며 C# 을 사용하여 Visio 파일 자동화를 하곤 한다


이번에 Windows 를 다시 깔면서 visio 2013 을 다시 설치 했는데 


C# 을 사용하여 Visio 파일을 저장할 때


vsd 확장자로 저장하면 다음과 같은 에러가 발생했다.


System.Runtime.InteropServices.COMException (0x86DB09C6):


잘 되던게 안되서 무척 당황하다가 


아래 링크를 통해 그 이유를 알 수 있었다. 


http://stackoverflow.com/questions/15659082/save-visio-2013-diagram-in-the-vsd-format


Visio API 의 버그라고 한다. vsdx 확장자로 저장하게 코드를 바꾸었더니 저장 문제가 해결 됐다.



아래 포스팅에서 Dia 및 Draw.io 와 같은visio 대체 툴들을 소개 한적이 있는데~


http://iamaman.tistory.com/655


http://iamaman.tistory.com/998


 

회사에서는 그래도 visio 를 제공해 주더군요.

 

블록도 등을 visio 를 사용하여 그린 후에 Microsoft Word 에 삽입을 하는데~

 

이렇게 삽입된 Visio 다이어그램들을 파일로 저장하고 싶은 경우가 있더군요.

 

오늘은 Autohotkey 를 사용하여 Word 에서 VISIO 파일을 추출하는 방법에 대해 소개 하려 합니다.

 

파일 명은 wordVisioExtract.ahk 이고 코드는 다음과 같습니다.

 

 

위 코드의 3번째 줄의 pathv 라는 변수에 추출하고자 하는 Visio 파일이 들어있는 MS Word 파일의 path 를 설정 합니다.

 

다음으로 4번재 줄의 dirVisio 라는 변수에 Visio 파일을 저장할 폴더를 설정 합니다.

 

위 코드를 실행 해보면 D:\visioExtract 폴더에 Visio 파일들이 추출되서 저장 되게 됩니다.

 

아래 그림은 Visio 그림 3개가 들어있는 word 문서의 예 입니다.


 

위와 같이 구성된 word 파일에 위 코드를 실행하면~ 각 Visio 파일들이 D:\visioExtract 폴더에 1.vdx, 2.vdx, 3.vdx 라는 이름으로 저장되게 됩니다.

 





아시는 바와 같이 Microsoft Office 제품군에서는 VBA를 활용하여 자동화가 가능 합니다.

 

http://iamaman.tistory.com/592


http://iamaman.tistory.com/1643


 

그런데 Visual Basic뿐만 아니라 다른 언어를 활용해서도 Office 자동화가 가능 합니다. 오늘은 Python 을 이용한 visio 그리기를 해보려 합니다.

 

구글을 좀 뒤져 보니 다음과 같이 좋은 예가 있더군요.



 

저는 현재 Windows 7 64비트를 사용 중인데~ Python 은 32비트를 사용 중입니다. 몇가지 package 들을 사용하기 위해 아래에서도 소개했던 Anaconda 를 사용하는데요~ Anaconda 를 설치하니 win32com 모듈을 그냥 사용 할 수 있더군요.

http://iamaman.tistory.com/1610


http://iamaman.tistory.com/1001


http://iamaman.tistory.com/1648


 

위 코드의 결과 아래와 같은 Visio 다이어그램이 나오게 됩니다.

 

 

좀만 공부해서 응용해 보면 다양한 다이어 그림들을 자동화 할 수 있을 것 같네요.



MS office 제품들은 VBA(Visual Basic for Applications) 를 활용하여 다양한 작업들을 할 수 있는데~

 

오늘은 미완이긴 하지만 Visio 에서 같은 스타일의 shape를 선택하는 방법에 대해 소개하려 합니다.

 

아래 그림은 7개의 타원과 5개의 직사각형으로 구성된 Visio 그림 입니다.




 

 

위 그림에서는 타원 하나가 선택을 한 상태입니다.

 

다음으로 Visio 에서 ALT + F11을 눌러서 아래 그림과 같은 VBA editor 를 엽니다.

 

 

위 그림과 같이 아래 코드를 넣어 줍니다. 그리고 마지막으로 Ctrl + S를 눌러서 저장 합니다.



 

이제 Editor 를 닫고 다시 Visio 로 와서~ 매크로 메뉴를 눌러서 매크로 실행 창을 띄우고~ 아래와 같이 위에서 저장한 FindShapes() 함수를 실행 합니다.

 

 

그럼 아래 그림과 같이 같은 스타일의 타원들이 다 선택되는 것을 확인 할 수 있습니다.

 

 

직사각형 하나를 선택하고 위와 같이 FindShapes() 함수를 실행하면 아래 그림과 같이 직사각형들이 다 선택되는 것을 확인 할 수 있습니다.


 

위 방법은 VBA 를 사용한 방법인데 워드 등과는 다르게 Normal.dotm 등과 같은 설정파일에 저장은 안되더군요. 한번 저장해 놓고 영구적으로 사용하는 방법은 아직 찾지 못했습니다.

 

혹시 VISIO 에서 영구적으로 VBA 코드를 저장하고 사용할 수 있는 방법을 알고 계신 분은 좀 알려 주세요~

 


스크립트를 사용하여 그래프를 그리는 프로그램으로 GraphViz 라는 툴이 있습니다.

 

보통 Doxygen 과 같은 툴을 사용해 보면 대부분 아시리라 생각됩니다.

 

뭐 정말 복잡한 다이어그램들은 사실 사람이 일일이 하나하나 그리는 것도 힘든 게 사실이라 GraphViz 와 같은 다이어그램 툴들을 사용하는 게 좋다고 생각됩니다.

 

아래 GraphViz Gallery 에 가보면 GraphViz 로 그릴 수 있는 다양한 그래프 형태에 대해 확인해 볼 수 있습니다.

http://www.graphviz.org/Gallery.php

 

아무튼 이렇게 그려진 그림들을 VISIO 의 형태로 불러와서 편집하고 싶은 경우가 있습니다.

 

이런 경우에 아래 주소의 graphvizio 를 사용하면 굉장히 쉽게 GraphViz 로 그린 그래프들을 불러 올 수 있습니다.

http://www.calvert.ch/graphvizio/

 

아래 그림과 같이 graphvizio.zip 파일을 다운로드 받고 압축을 해제 합니다.

 

 

다음으로 압축 해제한 폴더에 들어가서 setup.exe 파일을 실행해서 graphvizio 를 설치 합니다. 설치 과정은 그냥 다음 다음 하면 되니 설명 드리지 않습니다.

 

Graphvizio 가 정상적으로 동작하기 위해서는 GraphViz, Visio 2003 이상, Microsoft .Net Framework 3.5 가 설치되어 있어야 합니다.

 

위 gallery 에서 소개된 그래프들 중에 아래 주소의 crazy 라는 제목의 그래프를 하나 Visio 에서 그려보죠. 아래 주소에서 그림을 클릭하면 GraphViz 스크립트가 나오고 다른 이름으로 저장해서 사용하면 됩니다. 저는 crazy.gv라는 이름으로 저장해서 사용합니다.

 

http://www.graphviz.org/content/crazy

 

먼저 Visio 를 실행합니다. Graphvizio 를 설치 했다면 아래 그림과 같이 추가기능이라는 탭이 표시가 되고 Graph 라는 메뉴가 나옵니다.

 

Visio 에서 아래 그림과 같이 Diagram → import GraphViz 라는 메뉴를 선택하고 위에서 다운로드 받은 crazy.gv 파일을 선택합니다.

 

 

다음으로 조금만 기다리면 아래 그림과 같이 crazy.gv 라는 그래프가 Visio 에 옮겨지는 것을 확인 할 수 있습니다.



지난 포스팅에서 Visio 대체 프로그램으로서 Dia에 대해 소개해 드렸었는데요~


2013/09/12 - [유틸] - Visio 대체 오픈 소스 프로그램 Dia


 

오늘은 이런 설치형 프로그램이 아닌 웹 페이지를 통해 바로 사용 가능한 프로그램에 대해 설명 드리려 합니다.

 

오늘 소개할 프로그램은 웹 페이지에서 순서도와 같은 그래프 그리기가 가능한 draw.io 입니다.

 

홈페이지는 아래 주수와 같구요~

https://www.draw.io/

 

설치형 프로그램이 아니라~ 웹브라우져만 있으면 바로 사용할 수 있다는 장점이 있습니다.

 

아래 그림과 같이 구글 드라이브와 연동해서 파일을 관리 할 수도 있고~


 

여러가지 shape 들이 구비가 되서 굉장히 편리 하더군요.

 

특히나 Dia 등에서는 shape의 회전등이 불편하다는 느낌이 있었는데~

 

draw.io 에서는 CTRL + R 만 누르면 shape 가 회전 되고~

 

shape 간의 정렬이나 연결 등도 매우 간단하게 할 수 있습니다.


 

파일 메뉴의 저장 형태를 보면 기본적으로는 XML 확장자 이지만~



파일 메뉴의 보내기를 통해서 PNG, GIF, JPG, PDF, SVG, XML 등과 같은 형태로 내보내서~ 워드와 같은 프로그램에서도 이용 가능 합니다.



도움 메뉴에 보시면~ video tutorial 이 있는데~ 영어라도 보다 보면 사용방법에 대해 감을 잡을 수 있을 겁니다.


 

 



학생 일 때는 별 생각 없이 사용했던 프로그램들이 회사에서는 발목을 잡을 때가 있습니다.

 

그래서 저는 학생일 때보다~~ 사회에 나와서 오히려 오픈 소스 또는 프리웨어들어 훨씬 더 관심이 많아졌습니다.

 

블록도 나 순서도 등을 그릴 때 많은 분들이 MS Visio 를 사용하실 텐데~ 회사에 Visio 가 없더군요.

 

파워포인트로 그릴수도 있지만 왠지 Visio 대체 오픈 소스 프로그램이 찾고 싶더군요.

 

찾아보니 역시나…… 있었습니다.

 

Visio 대체 오픈 소스 프로그램은 Dia 입니다. 아래 주소에서 다운로드 받을 수 있고요~

 

http://dia-installer.de/

 

공짜인데다가~ Mac, Windows, Linux 에서 사용할 수 있고 메뉴도 한글화가 잘 되어 있어서 Visio 사용해 보셨던 분들은 적응하기 편하실 것 같네요~

 

Dia 매뉴얼은 아래 주소에서 볼 수 있는데요~ 아쉽게도 한글 매뉴얼은 없네요.

 

http://dia-installer.de/doc/index.html.en

 

실행하면~ 이렇게 생겼습니다. 심플하죠~





zetapai 님 질문에 대한 답변 



한글 메뉴가 안된다고 하셔서 제 설치 과정에 대해 좀더 자세하게 설명드리겠습니다. 


현재 윈도우 운영체제에서 위에 소개한 주소에서 설치파일을 다운로드 받았습니다.


편의를 위해 다운로드 링크 겁니다. 아래 주소 클릭하면 설치파일이 다운로드 됩니다.



http://sourceforge.net/projects/dia-installer/files/dia-win32-installer/0.97.2/dia-setup-0.97.2-2-unsigned.exe/download



설치과정에서는 처음에 한글이 없길래 영어로 선택했고~ 




설치 과정은 정말 그냥 계속 next ~~ next ~~ 선택했는데... 


설치 중간정도에 아래 그림처럼 Translations 에 체크가 되어 있는지 확인해 보시기 바랍니다. 저는 그냥 default 로 체크가 되어 있어서 계속 next 눌렀습니다.



그 다음부터는 그냥 또 다~~  next 눌렀습니다.


다음으로 딱히 언어 설정 해 준 적 없습니다. 그냥 처음 실행 해보니 바로 한글로 되어 있더군요.


설치된 화면에서 입력 언어 설정 탭에 아래 그림 처럼 돼 있었습니다.




관련 포스팅 : 


2013/10/02 - [유틸] - Visio 대체 프로그램 www.draw.io





  1. 감사요 2016.05.31 16:36

    한글입력 안된단 것만 빼면 임시용으로 쓸만하네요. 하지만 쓸수록 visio가 그리워지네요 ㅜ

    • 남성 2016.06.01 13:20 신고

      그쵸 그래도 visio 가 편하긴 하죠. 방문해 주셔서 감사합니다. ^^

+ Recent posts