Познавательное

Закладки VBA Excel

  

Закладки предназначены для упрощения навигации по документу Word. Объект Bookmarks доступен в виде свойства объектов Document, Selection и Range.

На заметку
Закладки можно создать непосредственно в программном коде.

Закладка, назначенная некоторой позиции в документе Word, имеет I-образный вид. Чтобы отобразить закладки, выберите в меню Word команду Сервис^Параметры (Tools'^ Options) и установите флажок Закладки (Bookmarks), расположенный во вкладке Вид (View) (рис. 16.9).
Следующий макрос создает закладки Кому, Копия, От и Тема, а затем помещает после каждой из них соответствующий текст.
Закладки VBA Excel

Рис. 16.9. Чтобы отобразить закладки, установите флажок Закладки

Sub UseBookmarks()
Dim myArray()
Dim wdBkmk As String
Dim wdApp As Word.Application
Dim wdRng As Word.Range
Dim wdSln As Selection
myArray = Array("Кому",   "Копия",   "От", "Тема")
On Error Resume Next
Set wdApp = GetObject(,   "Word.Application")
If wdApp Is Nothing Then
Set wdApp = GetObject("",   "Word.Application")
End If
If wdApp.ActiveDocument Is Nothing Then
With wdApp
.Documents.Add
.Visible = True
End With
End If
On Error GoTo 0
Set wdSln = wdApp.Selection
With wdSln
.TypeText "Кому: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add "Кому", wdRng
.TypeText vbCrLf
.TypeText "Копия: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add
.TypeText vbCrLf
.TypeText "От: "
Set wdRng = wdApp.Selection.Range
wdApp.Ac t iveDocument.Bookmarks.Add
.TypeText vbCrLf
.TypeText "Тема: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add
End With
Копия", wdRng
От", wdRng
Тема", wdRng
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(0)).Range
wdRng.InsertBefore  ("Билл Джелен")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(1)).Range
wdRng. InsertBef ore  (" Трейси Сирстад11)
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(2)).Range
wdRng.InsertBefore  ("MrExcel")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(3)).Range
wdRng.InsertBefore  ("Продажи фруктов")
Set wdApp = Nothing
Set wdRng = Nothing
End Sub

Результат выполнения макроса UseBookmarks показан на рис. 16.10.
Закладки VBA Excel

Рис. 16.10. Закладки существенно упрощают перемещение по документу Word

Закладки можно использовать не только для вставки текста, но и для вставки других объектов, таких как диаграммы.
Sub CreateMem()
Dim myArray()
Dim wdBkmk As String
Dim wdApp As Word.Application
Dim wdRng As Word.Range
myArray = Array("Кому",   "Копия",   "От",   "Тема",   "Диаграмма")
On Error Resume Next
Set wdApp = GetObject(,   "Word.Application")
If wdApp Is Nothing Then
Set wdApp = GetObject("",   "Word.Application")
End If
If wdApp.ActiveDocument Is Nothing Then
With wdApp
.Documents.Add
.Visible = True
End With
End If
On Error GoTo 0
Set wdSln = wdApp.Selection
With wdSln
.TypeText "Кому: ''
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add ''Кому", wdRng
.TypeText vbCrLf
.TypeText "Копия: "
Set wdRng = wdApp.Selection.Range 
wdApp.ActiveDocument.Bookmarks.Add "Копия", wdRng
.TypeText vbCrLf
.TypeText "От: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add " От", wdRng
.TypeText vbCrLf
.TypeText "Тема: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add " Тема", wdRng
.TypeText vbCrLf
.TypeText "Диаграмма: "
Set wdRng = wdApp.Selection.Range
wdApp.ActiveDocument.Bookmarks.Add " Диаграмма", wdRng
End With

Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(0)).Range
wdRng.InsertBefore  ("Билл Джелен")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(1)).Range
wdRng.InsertBefore  ("Трейси Сирстад")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(2)).Range
wdRng.InsertBefore  ("MrExcel")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(3)).Range
wdRng.InsertBefore  ("Продажи овощей и фруктов")
Set wdRng = wdApp.ActiveDocument.Bookmarks(myArray(4)).Range
ActiveSheet.ChartObjects("Chart 2").Copy
wdRng.Select
wdRng.Application.Selection.PasteAndFormat Type:=2
wdApp.Activate
Set wdApp = Nothing
Set wdRng = Nothing
End Sub

Результат выполнения макроса CreateMemo показан на рис. 16.11.
Закладки VBA Excel

Рис. 16.11. Закладки можно использовать для помещения в документ Word диаграммы
 


Дата: 18 марта 2014   |   Опубликовал: Admin   |   Просмотров: 1803   |   Комментарии (0)

Уважаемый , статьи ниже возможно будут интересны вам:

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.