VBA

2016-01-31 00:00:00
visual basic customize

VBA란 Visual Basic Application의 약자로, 주로 MS OFFICE의 매크로로서 사용될 수 있습니다.

주로 엑셀에 사용되지만 여기서는 워드작업 중 일부만 다룹니다.

워드 작업을 할 때 이미지를 많이 사용 할 경우 일괄적으로 처리하고 싶은 부분이 있을 것입니다.

크기 맞추기와 위치 정렬 등...

라이브러리를 참조해서 간단히 만들어 보았습니다.

Sub CustomImgAll()
  Dim i As Integer
  For i=1 To ActiveDocument.InlineShapes.Count
    With ActiveDocument.InlineShapes(i)
      .Width = CentimetersToPoints(10)
      '.Height = CentimetersToPoints(10)
      .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
    End With
  Next i
End Sub

위 코드는 현재 열려있는 모든 문서(ActiveDocument)에서

인라인으로 삽입된 개체(InlineShapes)의 너비(Width) 또는 높이(Height)를 변화하고 ('기호는 VB의 주석입니다.)

가운데로 정렬(wdAlignParagraphCenter) 시켜줍니다.

워드로 사진을 드래그 등으로 집어 넣을 때 글자처럼 취급(Inline)상태가 자동으로 되더군요. 이런 개체만 인식해서 For로 순회하여 모두 바꿔줍니다.

조건문, MsgBox 등을 넣어 복잡하고 강력한 매크로로도 만들 수 있지만

문서작업을 위한 매크로는 간단한 것들을 여러개 만드는 것이 좋다고 생각합니다.

Reference : MSDN