Какой References нужен для диалогового окна открытия файла?

Автор Тема: Какой References нужен для диалогового окна открытия файла?  (Прочитано 5944 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн serega374Автор темы

  • ADN OPEN
  • Сообщений: 41
  • Карма: 0
В общем ругается у меня на неопределенный тип "FileDialogs"
Не могу понять какую библиотеку подключить? Win7 X64
Сейчас включены вот эти:



Код - Visual Basic [Выбрать]
  1. Public Sub OpenFile()
  2.     'sample to show how to use FileDialogs
  3.    Dim objFile As FileDialogs
  4.     Dim strFilter As String
  5.     Dim strFileName As String
  6.    
  7.     Set objFile = New FileDialogs
  8.     'desc,filter combinations must all be separated with pipe char "|"
  9.    strFilter = "All Files (*.*)|*.*|Drawings (*.dwg)|*.dwg"
  10.     objFile.OwnerHwnd = ThisDrawing.HWND    'bind the dialog to the window
  11.    objFile.Title = "Open a drawing"
  12.     'default dir is CurDir
  13.    objFile.StartInDir = "c:\"
  14.     objFile.Filter = strFilter
  15.     'return a valid filename
  16.    strFileName = objFile.ShowOpen
  17.     If Not strFileName = vbNullString Then
  18.         'use this space to perform operation
  19.        MsgBox strFileName
  20.     End If
  21.     Set objFile = Nothing
  22.        
  23. End Sub
  24.  
« Последнее редактирование: 06-07-2018, 13:14:31 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
serega374,
Приветствую на форуме!
Прочитай у меня в подписи как следует форматировать код на форуме и соблюдай это правило!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
В общем ругается у меня на неопределенный тип "FileDialogs"
Может не FileDialogs, а FileDialog ?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63
Нет не FileDialogs, не FileDialog, не OpenFileDialog, не SaveFileDialog
кури WinAPI

Оффлайн serega374Автор темы

  • ADN OPEN
  • Сообщений: 41
  • Карма: 0
кури WinAPI
Спасибо! не могу вот с этим справится. Win10 x64
Код - Visual Basic [Выбрать]
  1. VertName.hwndOwner = ThisDrawing.HWND32
пишет

В выпадающем списке автоподстановки только HWND?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
В выпадающем списке автоподстановки только HWND?
Теоретически должно подойти. Я так понимаю, что AutoCAD 2013? Тогда возможны проблемы, так как в нём 32-разрядная версия VBA 6.1, а сам он 64-разрядный в Windows x64
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн serega374Автор темы

  • ADN OPEN
  • Сообщений: 41
  • Карма: 0
На рабочем компе код заработал там Win7 x64 AutoCAD 2013 32-разряда, удалил PtrSafe и написал HWND32 (в списке автоподстановки есть и просто HWND)
Код - Visual Basic [Выбрать]
  1. ...
  2. Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  3. ...
  4. VertName.hwndOwner = ThisDrawing.HWND32
  5.  

Дома Win10 x64 AutoCAD 2017 64-разрядный (есть и 19 Electrical то же самое). Без PtrSafe сразу красным строчку выделяет и HWND32 нет в списке автоподстановки. Если пишу просто HWND

Код - Visual Basic [Выбрать]
  1. ...
  2. Public Declare PtrSafe Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  3. ...
  4. VertName.hwndOwner = ThisDrawing.HWND
  5.  
Ругается "Tipe mismath"

Отмечено как Решение serega374 13-07-2018, 08:16:29

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63