Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Разработка приложений - с помощью Excel 97 и VBA
<<-[Весь Текст]
Страница: из 7
 <<-
 
английские слова в данном случае формируются автоматически мастером создания 
сводных таблиц.
Создание своих собственных процедур
ШАГ 1. Запустите Excel, задайте имя новому проекту PivotVBP.xls и перейдите в 
среду разработки VB (Alt+F11). Создайте там новый BAS-модуль (команда 
Insert|Module) и назовите его также PivotVBP (в поле Name окна Properties).
Теперь приступим к написанию кода процедур данного модуля (окончательный 
вариант кода приведен в листинге 3). Обратите внимание, что создавать новые 
процедуры можно либо используя команду Insert|Procedure, либо введя первую 
строку заголовка процедуры (Sub ИмяПроцедуры) непосредственно в окне кода 
модуля.
Листинг 3. Текст модуля кода PivotVBP.
Attribute VB_Name = “PivotVBP”
Option Explicit
Sub CreateVBProjCrossRef()
‘установка заголовков таблицы
SetUpHeadings
‘ LoadProjectFile формирует исходную
‘ таблицу компонентов и возвращает результат
If LoadProjectFile Then ‘есть хотя бы один проект
‘формирование сводной таблицы
CreatePivotTable
End If
End Sub
Sub SetUpHeadings()
Selection = “Проект”
Selection.Offset(0, 1) = “Тип”
Selection.Offset(0, 2) = “Файл”
Selection.Offset(1, 0).Select
End Sub
Function LoadProjectFile() As Boolean
‘ Формирование в цикле исходной таблицы
‘ компонентов проектов.
‘ Значение функции при выходе:
‘ True - был выбран хотя бы один файл проекта
‘ False - нет ни одного файла
Dim File, FileDet, FileNum%, txt$, Project$
Dim ProjectPath$, Path$
Dim Files As New Collection
‘
LoadProjectFile = False
Do
Set Files = New Collection
‘ выводит диалоговое окно для выбора файла проекта
File = Application.GetOpenFilename( _
FileFilter:=”VB Project Files(*.mak;*.vbp), _
*.mak;*.vbp”, Title:=”Загрузить файл VB-проекта”)
‘ если пользователь нажал Cancel - выход из процедуры
If File = False Then Exit Do
‘
ProjectPath$ = File
Call FileNameTest(ProjectPath$, Path$, Project$)
FileNum% = FreeFile
Open File For Input As FileNum%
Input #FileNum%, txt$
‘ определяет, какой тип файла был открыт, а затем
‘ вызывает соответствующую процедуру
If InStr(txt$, “=”) Then ‘ VBP-файл
Call LoadVBP(FileNum%, Project$, Files)
Else
Seek FileNum%, 1 ‘ MAK-файл
Call LoadMAK(FileNum%, Project$, Files)
End If
‘ помещает информацию из файла проекта в
‘ коллекцию Files, а затем из коллекции Files
‘ в электронную таблицу
For Each File In Files
For Each FileDet In File
Selection = FileDet
Selection.Offset(0, 1).Select
Next
Selection.Offset(1, -3).Select
Next
LoadProjectFile = True
Loop
End Function
Private Sub LoadMAK(FileNum%, Project$, Files)
Dim txt$, FileType$
‘ выборка описаний компонентов из MAK-файла
‘ (до VB3 включительно) и формирование коллекции Files
 
<<-[Весь Текст]
Страница: из 7
 <<-