Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

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
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru