Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 20:10   #1
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию Может ли функция вернуть range?

Привет! Может ли функция вернуть фрагмент текста:
Цитата:
НАЧАЛЬНИК ФИРМЫ РиК
ПРОФЕССОР

______________ПУПКИН
Может, как нить через range такое возможно сделать?
wolf05632 вне форума Ответить с цитированием
Старый 14.04.2011, 20:48   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,079
По умолчанию

два варианта
Код:
Sub w110414_2024()
'от начала до слова пупкин
j1 = 0
Dim pr As Paragraph
s2 = ""
For Each pr In Word.ActiveDocument.Paragraphs
S1 = pr.Range.Text
j1 = j1 + 1
s2 = s2 & S1
If LCase(S1) Like "*пупкин*" Then
Exit For
End If
Next pr
Word.Documents.Add
Selection.Range.Text = s2
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub w110414_2026()
'слово пупкин после слов начальник фирмы

j1 = 0
j21 = 0
j22 = 0
Dim pr As Paragraph
For Each pr In Word.ActiveDocument.Paragraphs
S1 = pr.Range.Text
j1 = j1 + 1
If LCase(S1) Like "*начальник*фирмы*" Then
j21 = j1
End If
If LCase(S1) Like "*пупкин*" And j21 > 0 Then
j22 = j1
Exit For
End If
Next pr
If j21 = 0 Or j22 = 0 Then
MsgBox "цитата не найдена"
Exit Sub
End If
Dim myrange As Range
pos = ActiveDocument.Paragraphs(j21).Range.Start
pos2 = ActiveDocument.Paragraphs(j22).Range.End
Set myrange = ActiveDocument.Range(Start:=pos, End:=pos2)
s2 = myrange.Text
Word.Documents.Add
Selection.Range.Text = s2
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 14.04.2011, 22:13   #3
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию

наверное, не совсем правильно меня поняли....
есть форма, на форме комбобокс, в списке комбобокса три фамилии(один начальник и два заместителя). нужно написать функцию, которая возвращала бы
Цитата:
НАЧАЛЬНИК ФИРМЫ РиК
ПРОФЕССОР

______________ПУПКИН
если комбобокс.валуе = пупкин
или
Цитата:
ВрИО НАЧАЛЬНИКА ФИРМЫ РиК
ДОЦЕНТ
______________ЗАЛУПУПКИН
если комбобокс.валуе = залупупкин

аналогично со вторым замом
wolf05632 вне форума Ответить с цитированием
Старый 15.04.2011, 06:47   #4
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию

Блин, а нафига мне функция, если я это в процедуре могу сделать через иф-зен?
Сегодня попробую!!!
wolf05632 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
может ли функция возвратить массив? BoozZzilla Помощь студентам 13 25.03.2011 16:08
Где можно скачать Borland C++ или может кто-то может скинуть dani6 C++ Builder 11 19.02.2011 14:01
Может ли функция возвращать массив? TzX Общие вопросы Delphi 4 20.09.2010 19:27
какая функция может вывести максимальное значение Double, Single, Extended, Real? _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 14 14.07.2010 05:50