колонтитул в word 2007, 0000002111
Функции host-приложений.Функции host-приложения, доступные для VBA, не являются частью VBA, они являются частью host-приложения. Например, функции рабочих листов Excel не являются частью программирования языка VBA, но они являются частью host-приложения Excel. Не каждое host-приложение VBA содержит функции, которые можно использовать в VBA. Отсюда, если вы собираетесь использовать процедуры в различных приложениях, не стоит использовать функции host-приложения. Чтобы использовать функцию host-приложения необходимо обратиться к ней посредством программного объекта Application. Например: MsgBox Application.Min(1, 5, 7, 9) Обратите внимание, что за словом Application следует точка (точка-разделитель), а затем имя функции без пробелов. Результат функции Excel нельзя игнорировать. Необходимо всегда включать круглые скобки в вызов функции Excel и всегда каким-то образом использовать результат функции: как значение в выражении, аргумент для другой функции и проч. Функции host-приложения, имеющие те же имена, что и функции VBA, не обязательно выполняют те же самые задачи и выдают те же самые результаты. Например, Excel-функция LOG и VBA-функция LOG - это не одно и то же. Следует также иметь в виду, что не каждая функция host-приложения доступна VBA. Для проверки доступности функции необходимо воспользоваться инструментом Object Browser среды VBA. Чтобы узнать, какие функции имеются в приложении и узнать, каково назначение и как использовать эти функции, необходимо обратиться к справочной системе приложения (например, произвести поиск по слову functions). В заключение скажем о полезном дополнительном свойстве функции InputBox приложения Excel, которого нет в VBA. InputBox в Excel имеет необязательный параметр Type, задающий тип вводимого значения. Это можно использовать в качестве дополнительного контроля вводимой информации. Праметр Type может принимать следующие значения:
Можно использовать в качестве аргумента Type сумму доступных значений. Например, для ввода как такстовых, так и числовых значений можно задавать значение 3 (1+2). Как определить полное имя Host-приложения?Предположим, вы создали собственный элемент управления (UserControl) и хотите, чтобы он смог узнать каталог, где находится его родительское приложение (откуда он был вызван в данный момент). В общем случае можно просто предусмотреть передачу этих сведений с помощью установки соответствующих свойств элемента управления. Но иногда бывает удобнее использовать код, который определит полный путь родительского EXE-модуля, независимо от того, захотела вызывающая программа сделать такую установку или нет. Для этого включите в свой элемент управления следующий код: Private Declare Function GetModuleFileName Lib _ "kernel32" Alias "GetModuleFileNameA" (ByVal _ hModule As Long, ByVal lpFileName As String, ByVal _ nSize As Long) As Long Private Sub UserControl_Paint() ' определить каталог родительского приложения Dim AppPath As String Const MAX_PATH = 260 UserControl.Cls AppPath = Space$(MAX_PATH) If GetModuleFileName(0, AppPath, Len(AppPath)) Then AppPath = Left$(AppPath, InStr(AppPath, vbNullChar) - 1) UserControl.Print AppPath Else UserControl.Print "Не смогли определить!" End If End Sub колонтитулы в word 2007, 000000211111
колонтитулы в word 2007, 000000211
нумерация страниц в word 2007, 00000021111
|