Считывание текста документа Word не открывая его

 

Код открывает Word в памяти компьютера и производит считывание.

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

 

Option Explicit

Dim objWord As Word.Application

 

Private SubCommand1_Click()

On Error Resume Next

DimstrDocPath AsString , D

strDocPath = "D:\Advice\Soveti\DragDropTXT.doc"

Set objWord = New

Word.Application

objWord.Visible = False

objWord.Documents.Open strDocPath, False

objWord.Selection.WholeStory

D = objWord.Selection.Text

objWord.ActiveDocument.Close

objWord.Quit

Set objWord = Nothing

Debug.Print D

End Sub

 

 

Форматирование печатной области документа

 

Код задает отступы слева, справа, сверху и снизу в сантиметрах.

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

 

Private Sub Command2_Click()

DocWord.Application.Selection.PageSetup.LeftMargin = _ CentimetersToPoints(2) 'отступ слева "2,0 см"

DocWord.Application.Selection.PageSetup.RightMargin = _ CentimetersToPoints(1.5) 'отступ справа "1,5 см"

DocWord.Application.Selection.PageSetup.TopMargin = _ CentimetersToPoints(3.5) 'отступ сверху "3,5 см"

DocWord.Application.Selection.PageSetup.BottomMargin = _ CentimetersToPoints(4.45) 'отступ снизу "4,45 см"

End Sub

 

Вставка таблицы в текстовый документ

 

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

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

 

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

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

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

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

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

или

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

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

 

 

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

 

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

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

 

For Each Workbook In Application.Workbooks

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

Next

 

 

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

 

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

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

 

Private SubUserForm_Initialize()

ListBox1.ColumnCount = 5

ListBox1.RowSource = "a1:b4"

ListBox1.ControlSource = "a6"

ListBox1.BoundColumn = 0

End Sub

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

 

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

 

DimExNew As Worksheet

 

Set ExNew = ActiveWorkbook.Worksheets.Add

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

 

 

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

 

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

 

Private Declare FunctionShellExecute& 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 FunctionGetDesktopWindow Lib_

"user32" () As Long

ConstSW_SHOWNORMAL = 1

 

Sub Button1_Click()

Call ShellExecute(GetDesktopWindow, "Open",_

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

End Sub

 

 

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

 

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

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

 

ForEach sheet In Worksheets

If sheet.Name = "Sheet1" Then

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

Exit For

End If

Next