Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное_пособие_Office2007.doc
Скачиваний:
19
Добавлен:
10.12.2018
Размер:
8.64 Mб
Скачать
  1. Вставка таблицы в текстовый документ

Создается таблица из 10 строк в 2 столбца на всю ширину области печати текста.

В коде используется коллекция Tables. Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

Dim TableWord As Word.Table 'объявляем объектную

‘переменную в разделе Generals формы

Set TableWord = DocWord.Tables.Add(DocWord.Range(), 10, 2)

‘таблица перекроет весь текст, который был в документе

‘("удалит" его)

или

Set TableWord = DocWord.Tables.Add(DocWord.Application._ Selection.Range, 10, 2) ‘таблицу туда, где находится в

‘данный момент "мигающий" курсор

  1. Запрет повторного открытия файла Excel

Проверяется, открыт ли запрашиваемый файл, и если открыт, вторичный запрос останавливается.

Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

For Each Workbook In Application.Workbooks

If Workbook.Name = "Наименование книги (Book1)" Then Stop

Next

  1. Добавление данных ячеек листа Excel в ListBox формы

Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

Расположить на форме ListBox1, добавить код, введите данные в ячейки A1-B4 на листе, и запустить Макрос.

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 5

ListBox1.RowSource = "a1:b4"

ListBox1.ControlSource = "a6"

ListBox1.BoundColumn = 0

End Sub

  1. Добавление в книгу Excel нового листа

Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

Dim ExNew As Worksheet

Set ExNew = ActiveWorkbook.Worksheets.Add

ExNew.Name = "Имя Листа"

  1. Добавление на лист Excel кнопки вызова браузера

Добавить на лист кнопку, объявить переменные и добавить код.

Private Declare Function ShellExecute& Lib "shell32.dll"_

Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal _

lpOperation As String, ByVal lpFile As String, ByVal _

lpParameters As String, ByVal lpDirectory As String, _

ByVal nShowCmd As Long)

Private Declare Function GetDesktopWindow Lib_

"user32" () As Long

Const SW_SHOWNORMAL = 1

Sub Button1_Click()

Call ShellExecute(GetDesktopWindow, "Open",_

"www.armentel.com/avb", "", "c:\", SW_SHOWNORMAL)

End Sub

  1. Проверка наличия в книге искомого листа

В книге ищется лист «Sheet1».

Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

For Each sheet In Worksheets

If sheet.Name = "Sheet1" Then

MsgBox "Sheet1 существует"

Exit For

End If

Next

  1. Открытие из Excel базы данных и считывание данных из ее таблицы в ячейки листа.

Перед работой в Reference... поставьте ссылку на Microsoft Excel Object Library.

Dim WS As Workspace

Dim DB As Database

Dim RS As Recordset

Dim strSQL As String

Dim strDBPath As String

Dim i As Integer

strDBPath = "C:\Program Files\Microsoft Visual _ Studio\VB98\Biblio.mdb"'Путь к Базе Данных

'Открываем рабочую область:

Set WS = DBEngine.Workspaces(0)

'Открываем БД, где strDBPath – полный путь к БД (у вас он 'может быть чуть иным), False – означает, что мы открываем 'БД не в режиме Exclusive (False), и для Read\Write

'(False)

Set DB = WS.OpenDatabase(strDBPath, False, False)

'Открываем таблицу Publishers, записываем в стринговую переменню SQL запрос и передаем Рекордсету

strSQL = "SELECT PubID, Name, Address, City, Telephone FROM Publishers"

Set RS = DB.OpenRecordset(strSQL)

'Производим в цикле запись из БД согласно SQL запросу на

'лист Excel

i = 2

While RS.EOF = False

Sheets("sheet1").Range("a" + LTrim(Str(i))) = _ RS.Fields(0)

Sheets("sheet1").Range("b" + LTrim(Str(i))) = _ RS.Fields(1)

Sheets("sheet1").Range("c" + LTrim(Str(i))) = _ RS.Fields(2)

Sheets("sheet1").Range("d" + LTrim(Str(i))) = _ RS.Fields(3)

Sheets("sheet1").Range("e" + LTrim(Str(i))) = _ RS.Fields(4)

i = i + 1

RS.MoveNext

Wend

MsgBox "ГОТОВО"