Sub InsertPicture()
Dim dlgInsPic As FileDialog
Dim shpPic As InlineShape
Dim vrtSelectedItem
// FileDialog개체는 2002버전부터 제공되는
개체로 알고
// 있습니다. 아마 2000이하 버전은
사용하시는 분은
// 해당되지 않을 것 같습니다.
// 이것은 파일을 선택하는 대화상자를 만드는 개체입니다.
//
Application.FileDialog(FileDialogType)
// FileDialogType에는 다음과 같은 상수를
사용합니다.
//
msoFileDialogFilePicker - 파일선택
// msoFileDialogFolderPicker - 폴더선택
// msoFileDialogOpen - 열기
//
msoFileDialogSaveAs- 다른이름으로 저장
Set dlgInsPic = Application. _
FileDialog(FileDialogType:=msoFileDialogFilePicker)
With dlgInsPic
// Flters 프로퍼티
// 선택하거나 보여주는 파일의 종류를 지정합니다.
// 그림파일을 읽어 들일 목적이므로 당연히 추가하는
// 파일의 종류는 BMP, GIF, JPG 등등입니다.
.Filters.Add "그림포맷", "*.gif; *.jpg;
*.bmp", 1
// Show 메소드
// 대화상자를 보여주는 메소드입니다.
// Show 메소드는 Long값을 돌려주는 메소드입니다.
// 대화상자를 취소하면 0을 돌려주고
// 해당 동작(열기, 저장하기 등등)을 선택하면 -1을 돌려줍니다.
// 돌려주는 값이 -이면 작업을 하게됩니다.
If .Show = -1 Then
// SelectedItems 프로퍼티
// SelectedItems 프로퍼티는 대화상자에서
// 선택한 항목을 돌려줍니다. 컬렉션의 형태로 말이죠.
// For Each문을 사용하여 선택한 파일명을 얻습니다.
For Each vrtSelectedItem In .SelectedItems
// shpPic는 InlineShape개체변수입니다.
// InlineShape개체변수는 문서내의
Shape개체(도형,그림)을
// 나타내는
개체입니다.
// Selection개체는 선택한
범위나 삽입 포인터 위치를
// 나타내는
개체입니다.
// 현재 삽입위치에서
InlineShapes(여기에선 그림파일)
// 를 추가합니다.
Set shpPic = Selection.InlineShapes.
_
AddPicture(FileName:=vrtSelectedItem, _
LinkToFile:=False,
SaveWithDocument:=True)
// 그림서식중 [웹]탭의 [대체 텍스트]문자열을
// 지정합니다
With shpPic
.AlternativeText =
vrtSelectedItem
End With
// Paragraph란 하나
이상의 문장이 모인 것을 말하죠
// InsertParagraph 메소드는 새 단락을 만드는 것입니다
Selection.InsertParagraph
// 현재 입력포인터 바로 밑에 캡션을 삽입합니다
// 캡션의 이름은 "그림" + 파일명의 형태입니다.
// 즉 문서에 삽입한 그림의 위치와 이름을 붙여
// 두는 것입니다.
Selection.InsertCaption
Label:="그림", _
TitleAutoText:=vrtSelectedItem, _
Title:=" > " & vrtSelectedItem, _
Position:=wdCaptionPositionBelow
Selection.InsertParagraph
Next vrtSelectedItem
End If
End With
// 다 쓴 개체는 버려야 겠죠
Set dlgInsPic = Nothing
Set shpPic = Nothing
End Sub |