Главная страница

Готовые макросы в VBA Excel (Миронов.) (z-lib.org). Запуск макроса с поиском ячейки 6 Запуск макроса при открытии книги 6


Скачать 1.47 Mb.
НазваниеЗапуск макроса с поиском ячейки 6 Запуск макроса при открытии книги 6
Дата26.06.2022
Размер1.47 Mb.
Формат файлаdoc
Имя файлаГотовые макросы в VBA Excel (Миронов.) (z-lib.org).doc
ТипДокументы
#615298
страница4 из 47
1   2   3   4   5   6   7   8   9   ...   47

Быстрое изменение заголовка окна


Sub NewTitle()

Application.Caption = "Какая хорошая погода"

End Sub

Быстрое изменение заголовка окна_2


Sub NewTitle()

Application.Caption = "Какая хорошая погода"

ActiveWindow.Caption = "А завтра будет дождь"

End Sub

Изменение заголовка окна (со скрытием названия файла)


Sub NewTitle()

Application.Caption = "Какая хорошая погода"

ActiveWindow.Caption = ""

End Sub

Возврат к первоначальному заголовку


Sub ReturnTitle()

' Возвращение заголовка приложения (то есть Excel)

Application.Caption = Empty

' Указание правильного названия открытого файла (книги)

ActiveWindow.Caption = ThisWorkbook.Name

End Sub

Что открыто в данный момент


Sub WorkBooksList()

Dim book As Object

' Вывод имени каждой рабочей книги

For Each book In Workbooks

MsgBox (book.Name)

Next

End Sub

Работа с текстовыми файлами


Открываются файлы командой Open, а закрываются - командой Close.

Sub Test()

Open "file.txt" For Input As #1

Close #1

End Sub

Запись и чтение текстового файла


Sub Test()

Open "file.txt" For Output As #1

Print #1, "Этот текст будет записан в файл"

Close #1

Open "file.txt" For Input As #1

Dim s As String

Input #1, s

MsgBox s

Close #1

End Sub

Для записи используется оператор Print, а для чтения - Input. У этих операторов есть свои особенности.

Print #1, "Hello , File"

Оператор Input #1 прочитает только Hello и все. Запятая воспринимается как разделитеть. Чтобы прочитать строку целиком, используется оператор Line Input.

Sub Test()

Open "file.txt" For Output As #1

Print #1, "Hello , File"

Close #1

Open "file.txt" For Input As #1

Dim s As String

Line Input #1, s

MsgBox s

Close #1

End Sub

Обработка нескольких текстовых файлов


Sub ImportTextFiles()

Dim fsSearch As FileSearch

Dim strFileName As String

Dim strPath As String

Dim i As Integer

' Задание пути и возможного имени файла

strFileName = ThisWorkbook.path & "\"

strPath = "text??.txt"

' Создание объекта FileSearch

Set fsSearch = Application.FileSearch

' Настройка объекта для поиска

With fsSearch

' Маска для поиска

.LookIn = strFileName

' Путь для поиска

.FileName = strPath

' Поиск всех файлов, удовлетворяющих маске

.Execute

' Выход, если файлы не существуют

If .FoundFiles.Count = 0 Then

MsgBox "Файлы не обнаружены"

Exit Sub

End If

End With

' Обработка найденных файлов

For i = 1 To fsSearch.FoundFiles.Count

Call ImportTextFile(fsSearch.FoundFiles(i))

Next i

End Sub

Sub ImportTextFile(FileName As String)

' Импорт файла

Workbooks.OpenText FileName:=FileName, _

Origin:=xlWindows, _

StartRow:=1, _

DataType:=xlFixedWidth, _

FieldInfo:= _

Array(Array(0, 1), Array(3, 1), Array(12, 1))

' Ввод формул суммирования

Range("D1").Value = "A"

Range("D2").Value = "B"

Range("D3").Value = "C"

Range("E1:E3").Formula = "=COUNTIF(B:B,D1)"

Range("F1:F3").Formula = "=SUMIF(B:B,D1,C:C)"

End Sub

Определение конца строки текстового файла


Sub Test()

Open "file.txt" For Output As #1

Print #1, "Hello , File"

Close #1

Open "file.txt" For Input As #1

Dim s As String

While Not EOF(1)

Input #1, s

MsgBox s

Wend

Close #1

End Sub

Копирование из текстового файла в эксель


Dim TextLine

i = 1

Open "C:\MyFile.txt" For Input As #1

Do While Not EOF(1)

Line Input #1, TextLine

ThisWorkbook.Worksheets("Лист1").Cells(i, 1).Value = TextLine

i = i + 1

Loop

Close #1
1   2   3   4   5   6   7   8   9   ...   47


написать администратору сайта