Тема: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Поставлена такая задача:
Создать форму (под AutoCAd естественно) типа UserForm1  добавить пользовательское меню типа File, Edit, View, Option, Help и тд и тп.
добавить кнопки "CommandButton" для расчета и ввода данных поперечников и продольника...
Создал макрос , добавил туда новую форму типа UserForm1.
с кнопками объекта "CommandButton" проблем нет, написал код..все работает...
а вот пользовательское меню решил сделать с помощью Microsoft CommonDialog Control, version 6.0
как только я пытаюсь добавить в UserForm1 эту библиотеку выдается ошибка:
"The control could not be created because it is not properly licensed."
Помогите пожалуйста решить эту проблему, очень нужно...
P.S. Такая же проблема VBA под Excel, Word...

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Не понимаю зачем с меню трахаться воспользуйся выпадающим списком и вуаля в конце концов сваяй свое меню вместе с формой в vb откомпилируй как новый активХ и вставляй спокойно во все места :)

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

> Алмаз
ну не лицензирован этот компанент для подобного вида разработок...

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

> callisto
А кто его должен лицензировать, фирма-производитель или пользователь?

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Такая же проблема VBA под Excel, Word...
В VBA под Excel, Word и Access для создания меню используется объект CommandBars.ActiveMenuBar
А вот в VBA for AutoCAD такого объекта не наблюдается. Подозреваю, что нужно подключить какую-то специализированную библиотеку. Но какую?

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Нужно обращаться из VBA к функциям Win API.

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

> technosterone
Тогда уж проще воспользоваться рецептом от:

> hydra

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

LeonidSN
1.Можно создать "выпадающее меню", но некоторые люди, как например я, делают такие настройки пользователя, при которых это меню подавляется.
2. Чтобы что-то компилировать, нужно иметь VB, а тут идет речь о VBA.
Поэтому я и предложил "вызов Win API из VBA"

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

> technosterone
>Поэтому я и предложил "вызов Win API из VBA"
Было бы не плохо получить примерчик, или хотя бы ссылку на эту тему...
З.Ы.заранее спасибо..

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Вот сейчас все брошу и займусь написанием примера для тебя

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

Нашел я это здесь, на этом замечательном форуме.
Option Explicit
Public Sub SaveMyFile()
  Dim strFile As String
  Dim intFile As Integer
  strFile = ShowSave ' Отображение окна диалога "Сохранить файл"
    ' Открытие файла и запись в него информации
  If Len(strFile) > 0 Then
    intFile = FreeFile
    Open strFile For Output As intFile
      Print #intFile, данные
  End If
  Close intFile
End Sub
Public Sub OpenMyFile()
  Dim strFile As String
  Dim intFile As Integer
  On Error GoTo Err_Control
  strFile = ShowOpen ' Отображение окна диалога "Открыть файл"
  If Len(strFile) > 0 Then
    intFile = FreeFile
    ' Открытие файла и чтение из него информации
    Open strFile For Input As intFile
    Do Until EOF(intFile)
      Line Input #intFile, strVal
    Loop
    Close intFile
  End If
Exit_Here:
  Exit Sub
Err_Control:
  MsgBox Err.Description
  Resume Exit_Here
End Sub
Public Declare Function GetSaveFileName Lib _
"comdlg32.dll" Alias "GetSaveFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetOpenFileName Lib _
"comdlg32.dll" Alias "GetOpenFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
Public Const OFN_HIDEREADONLY = &H4
Public Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
End Type
'@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@
' Display and use the File open dialog
'@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@
Public Function ShowOpen() As String
  Dim strTemp As String
  Dim VertName As OPENFILENAME
  VertName.lStructSize = Len(VertName)
  VertName.hwndOwner = ThisDrawing.HWND
  VertName.lpstrFilter = "Файлы Excel (*.xls)" + Chr$(0) + "*.xls" + Chr$(0)
  VertName.lpstrFile = Space$(254)
  VertName.nMaxFile = 255
  VertName.lpstrFileTitle = Space$(254)
  VertName.nMaxFileTitle = 255
  VertName.lpstrInitialDir = CurDir
  VertName.lpstrTitle = "Открыть файл"
  VertName.flags = 0
  If GetOpenFileName(VertName) Then
    strTemp = (Trim(VertName.lpstrFile))
    ShowOpen = Mid(strTemp, 1, Len(strTemp) - 1)
  End If
End Function
'@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@
' Display and use the File Save dialog
'@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@
Public Function ShowSave() As String
  Dim strTemp As String
  Dim VertName As OPENFILENAME
  VertName.lStructSize = Len(VertName)
  VertName.hwndOwner = ThisDrawing.HWND
  VertName.lpstrFilter = "Файлы Excel (*.xls)" + Chr$(0) + "*.xls" + Chr$(0)
  VertName.lpstrFile = Space$(254)
  VertName.nMaxFile = 255
  VertName.lpstrFileTitle = Space$(254)
  VertName.nMaxFileTitle = 255
  VertName.lpstrInitialDir = CurDir
  VertName.lpstrTitle = "Сохранить файл"
  VertName.lpstrDefExt = ".xls"
  VertName.flags = OFN_HIDEREADONLY
  If GetSaveFileName(VertName) Then
    strTemp = (Trim(VertName.lpstrFile))
    ShowSave = Mid(strTemp, 1, Len(strTemp) - 1)
  End If
End Function

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

привет, знатоки)) помогите, пожалуйста, найти сообщение на тему "Объекты VBA". Буду очеь признательна. Яна.

Re: Вопрос знатокам VBA програмирования... Помогите решить...плиз

> Яна
_vbaide
F1