smirnvlad
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 1. заходим в Visual Basic 2. на проекте нажимаем правой кнопкой insert -> UserForm 3. в свойствах ставим ShowModal = false и PictureSizeMode = fmPictureSizeModeZoom запоминаем имя (скорее всего UserForm1) В коде меняем DirName = "C:\pictures\" 'на папку с картинками Set myF = UserForm1 'на название добавленной формы Set Doc = ThisDocument 'на документ с абзацами (сейчас тот в котором код) из папки выбираются только jpg, если картинок мало - начнутся с начала запускаем SP() Код: Sub sleep(sec As Integer) s = Now While DateDiff("s", s, Now) < sec DoEvents Wend End Sub Sub SP() Dim PicNames() DirName = "C:\pictures\" Set myF = UserForm1 Set Doc = ThisDocument ParCnt = Doc.Paragraphs.Count If ParCnt < 1 Then Exit Sub ReDim PicNames(1 To ParCnt) PicCnt = 0 FileName = Dir(DirName + "\*.jpg") For i = 1 To ParCnt If Len(FileName) = 0 Then Exit For PicCnt = i PicNames(PicCnt) = FileName FileName = Dir() Next If ParCnt > 3 Then ParCnt = 3 ' Ограничимся 3 абзацами для проверки For i = 1 To ParCnt Doc.Paragraphs.Item(i).Range.Select PicNum = i If (PicNum > PicCnt) And (PicCnt > 0) Then PicNum = PicNum Mod PicCnt If PicNum = 0 Then PicNum = PicCnt End If sleep (1) Selection.Collapse If PicCnt > 0 Then myF.Picture = LoadPicture(DirName + "\" + PicNames(PicNum)) If Not myF.Visible Then myF.Show End If sleep (1) myF.Hide ' Скрываем после каждой картинки Next myF.Hide End Sub |
| Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 10:34 08-05-2011 | Исправлено: smirnvlad, 10:35 08-05-2011 |
|