본문 바로가기

온갖 잡 정보들

티스토리 워드 게시 매크로 – 사진 재 정렬

사진에 원본 크기로 보기 링크를 걸고 싶다는 열망으로 시작한 일이 드디어 끝을 향해 달려간다.

내가 글을 쓰는 방법은 이런 식이다.

1. 워드로 문서를 열고 글의 부문에 들어갈 서문을 작성한다.

2. 글의 제일 아래에 커서를 위치시키고 모든 사진을 번에 삽입한다.

3. 사진 사이에 엔터 넣기 매크로를 이용하여 사진 사이에 엔터를 넣는다.

-- 작업을 하는 이유는 사진이 모두 붙어 있는 경우 사진 크기를 변경할 워드에서 변경이 되는 버그가 있기 때문이고,

-- 사진 사이에 글을 편하게 입력하기 위함이다.

-- 방법은 http://seoddong.tistory.com/162 참조.

4. 사진마다 넣고 싶은 글을 넣고 글을 완성한 블로그에 게시한다.

5. 블로그에 들어가서 방금 올린 게시물의 편집하기 화면을 열고 아래 링크된 게시물의 방법을 이용하여 글의 제일 아래에 링크 걸린 사진을 삽입한다.

-- 엄밀하게 말하면 링크 걸린 사진은 아니고 사진을 이런 방법으로 삽입해야 사진에 자동으로 링크가 걸리는 것이다.

-- 자세한 방법은 http://seoddong.tistory.com/157 참조

6. 워드에서 블로그 메뉴에 보면 [기존 항목 열기] 메뉴가 있다. 메뉴를 클릭하여 방금 편집한 글을 워드로 다시 불러온다.

-- 불러올 목록이 보여지는데 항상 최신 개만 보인다. 아직은 목록에 보이지 않는 글은 어떻게 불러오는지 모르겠다. 가끔 목록에 없는 글을 불러와야 때가 있는데 경우에는 블로그에서 글을 지우고 새로 다시 올렸다. ,.;;

7. 제일 아래에 나오는 그림 링크를 사진 번호에 맞춰서 재정렬해준다. 부분은 별로 노가다도 아니고, 시간도 오래 걸리지 않아 그냥 수작업으로 작업한다.

작업을 그림 링크와 링크 사이에 엔터가 삽입되어 있는데 엔터를 제거해준다. 아래 그림처럼 그림 순서도 맞추고 없게 하면 된다.

다시 말하지만 그림 링크는 글의 제일 마지막 부분에 위치해야 하고 아래로 줄이 있어도 된다.

   

여기까지 작업을 했으면 이제는 그림 링크를 각각 원래 자리로 보내야 하는데 사실 작업이 그림 수가 많을 때에는 진짜 노가다였다. 그래서 이제 소개하는 매크로를 만들게 되었다.

 

소스 설명을 하자면, 매크로가 실행시키는 키나 순서를 설명하자면 아래와 같다.

매크로는 글에 삽입되어 있는 그림의 수만큼 반복된다. 다행히도 제일 아래에 있는 그림 링크는 그림으로 인식을 하고 원래 위치에 있는 그림들만 그림으로 인식한다.

(업데이트: 나중에 발견한 것인데 그림이 연속으로 붙어 있는 경우 제대로 작동하지 않을 수 있다. 그러므로 그림 뒤는 항상 엔터가 들어가야 한다.)

당연히 여기서 인식한 그림의 수와 제일 아래에 있는 그림 링크의 개수는 일치해야 한다. 그러면 엉뚱한 위치에 그림 링크를 가져다 붙이는 수가 있으니 주의해야 한다. 경우 이렇게 매치를 시킨 경우는 초기 1회에 불과했다.

1. 아무튼 매크로는 커서를 글의 제일 마지막으로 보낸다. (마지막 그림 링크의 뒤가 것이다)

2. 그리고 그림 개수만큼 커서를 줄씩 위로 올린다. ( 번째 그림 링크의 뒤가 것이다)

3. Home키를 눌러 문장의 제일 앞으로 보내고 Shift+End키를 눌러 문장의 제일 뒤까지 선택한 [잘라내기] 한다.

4. 이제 커서를 번째 그림의 바로 앞으로 보내고 잘라낸 그림 링크를 붙여넣는다. 그리고 Del 눌러서 다음의 실제 그림을 삭제한다.

5. 위의 1~4 과정을 그림 수만큼 반복.

이게 매크로가 하는 역할이다.

실제 작동시켜 보니 그림이 150 정도 경우 매크로가 완료되는데 분이 걸리는 같았다.

   

아래는 매크로 스크립트다.

   

Sub ResetPic()

'

' ResetPic Macro

' Alt + 2

'

Dim ii As Integer

Dim oILShps As InlineShapes

   

Set oILShps = ActiveDocument.InlineShapes

ii = oILShps.Count

   

For jj = 1 To ii

   

' 제일 위의 그림 링크 잘라내기

Selection.EndKey Unit:=wdStory

Selection.MoveUp Unit:=wdLine, Count:=ii - jj

Selection.HomeKey Unit:=wdLine

Selection.EndKey Unit:=wdLine, Extend:=wdExtend

Selection.Cut

   

' 항상 제일 그림이므로 index 1이다.

oILShps(1).Select

' 제일 그림 자리에 링크 붙여넣기

Selection.Paste

Selection.Delete

Selection.Delete

   

Next

End Sub