Консультация № 169644
20.06.2009, 11:39
0.00 руб.
0 3 1
Уважаемые эксперты подскажите, пожалуйста, как присвоить значение переменной равное значению текста закладки находящейся в другом, не активном документе.
Заранее благодарен, Эндрю.

Обсуждение

Неизвестный
21.06.2009, 11:36
общий
это ответ
Здравствуйте, Ципихович Эндрю.

dim m
For Each aDoc In Documents 'в данном случае перебираем все активные документы и ищем нужный.
if aDoc.Name = "нужное имя документа.doc" then
aDoc.Bookmarks("нужная закладка").Select 'если находим, выделяем
m = aDoc.Selection.Text 'и присваиваем
EndIf
Next aDoc
Неизвестный
21.06.2009, 16:42
общий
Alexander N. Monastyrsky:
Dim m
For Each aDoc In Documents 'в данном случае перебираем все активные документы и ищем нужный
If aDoc.Name = "D:\1.doc" Then
aDoc.Bookmarks("й").Select 'если находим, выделяем
m = aDoc.Selection.Text 'и присваиваем
End If
Next aDoc
Здраствуйте, увы почему то не работает и второй момент я спросил: как присвоить значение переменной равное значению текста закладки находящейся в другом, не активном документе, а Вы "перебираете все активные документы и ищету нужный". Исправьте по возможности, спасибо.
Неизвестный
22.06.2009, 00:01
общий
Ципихович Эндрю:
Извините, недочитался...
Если неактивный, тоесть неоткрытый документ, тогда немного по другому
Dim m As String
For Each doc In Documents ' Перебираем, открыт ли искомый документ
If doc.Name = "1.doc" Then Found = True ' если открыт, то хорошо, будем работать
Next doc
If Found <> True Then
Documents.Open FileName:="D:\1.doc" ' если нет, будем открывать
Else
Documents("1.doc").Activate 'если да, то активируем его.
End If
If ActiveDocument.Bookmarks.Exists("й") = True Then 'проверяем, есть ли такая закладка
ActiveDocument.Bookmarks("й").Select ' нашлась, значит выбираем
m = Selection.Text 'и присваиваем
End If
У меня работает.

И в основном ответе опечатался. Нужно было не " m = aDoc.Selection.Text ", а следует читать "m = Selection.Text". Из-за этого не работало.
Всех благ.
Форма ответа