※ 오늘 Daily Tip은
곽승주님이 제공해주신 내용입니다.
필자가 뉴스레터를 작성할 때
가장 좋아하는 소재는 워드VBA입니다.
워드에서 글을 쓰고 워드에서 프로그램을 만들어 테스트해보니까 편리합니다.
오늘은 기본적인 워드의
대화상자와 문서에 배경그림을 넣는 것에 대해 알아보도록 하겠습니다.
다른 오피스 애플리케이션도
마찬가지이지만 워드에도 사용자 정의 대화상자(Userform)가
아닌 많은 기본 제공(Built-in) 대화상자(열기
대화상자, 다른 이름의 저장
대화상자)가 있습니다.
Dialogs개체에 대한 예를 도움말에서 찾아보면 다음과
같습니다. 다음은 찾을 내용 상자에
"Hello"가 있는 기본 제공 찾기 대화상자를 나타내는 예제입니다.
Dim dlgFind
As Dialog
Set dlgFind
= Dialogs(wdDialogEditFind)
With dlgFind
.Find = "Hello"
.Show
End With |
다음은 모든 파일의
형식을 보여 주는 기본 제공 열기 대화 상자를 나타내는 예제입니다.
With
Dialogs(wdDialogFileOpen)
.Name = "*.*"
.Show
End With |
다음은 인쇄 대화상자의
설정대로 현재 문서를 인쇄하는 예제입니다.
Dialogs(wdDialogFilePrint).Execute |
Dialogs개체에
전달하는 매개변수는 대화상자를 가리키는 상수입니다.
wdDialogEditFind,
wdDialogFilePrint, wdDialogFileOpen... |
Dialogs개체를 사용하는 쓸 만한 예로 현재
편집중인 문서에 배경그림을 삽입해보도록 하겠습니다.
그림을 삽입하는 대화상자는
Dialogs(wdDialogInsertPicture) 입니다.
<그림 삽입 대화 상자>
그러나 대화상자만으로는 실제 그림이 삽입되는 것은 아닙니다.
따라서 실제적인 코드는 따로 작성해줘야 합니다.
Document개체의
Background속성은 지정한 문서의 배경 이미지를 나타내는
Shape 개체를 반환합니다. 이를 이용하여 문서에 배경그림을 삽입합니다.
Sub
SelectBackground()
Dim
dlgInsPic As Dialog
// [그림
삽입]대화상자를
Dialog개체에 저장합니다
Set dlgInsPic = Dialogs(wdDialogInsertPicture)
// Display()메소드를 사용하여 대화상자를 화면에
// 표시합니다.
// 그리고 [삽입]버튼을
클릭하면 True를 돌려줍니다.
If dlgInsPic.Display() Then
With ActiveDocument
// 배경은 [웹
모양 보기]에서만 나타납니다.
// 따라서 보기의 형태를
[웹 모양 보기]로
// 변경합니다
.ActiveWindow.View.Type = wdWebView
// 선택한 그림파일은
Name속성에 저장됩니다.
.Background.Fill.UserTextured
dlgInsPic.Name
End With
End If
End Sub |
배경그림은 [웹 모양 보기]와
[읽기 모드]에서
볼 수 있습니다.
<현재문서에 삽입된 나뭇잎>
[참고]
다음은 현재 창에서 웹 모양 보기 배경색을 밝은 회색으로 설정하는 예제입니다.
ActiveDocument.ActiveWindow.View.Type = wdWebView
With ActiveDocument.Background.Fill
.Visible = True
.ForeColor.RGB = RGB(192, 192, 192)
End With |
|