Считывание текста документа 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