powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / filedialog
6 сообщений из 6, страница 1 из 1
filedialog
    #39109654
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые форумчане!
Возможно-ли при открытии диалога средствами VBA убрать панель предварительного просмотра (т.к её наличие при открытии файла двойным щелчком вызывает ошибку в программе открывающей файл. А-2007)
...
Рейтинг: 0 / 0
filedialog
    #39109847
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
а за это , случайно, не свойство ли InitialView отвечает?
Код: vbnet
1.
2.
3.
4.
 With Application.FileDialog(msoFileDialogFilePicker)
   .InitialView = msoFileDialogViewList
   .Show
 End With
...
Рейтинг: 0 / 0
filedialog
    #39109968
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
2007-го нет, поэтому, наверное, не понял про какую панель идёт речь
...
Рейтинг: 0 / 0
filedialog
    #39110052
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,
Свойство о котором Вы говорите определяет вид-список или таблица.
Короче бросаю эту затею. Огромное спасибо за отклик
...
Рейтинг: 0 / 0
filedialog
    #39110055
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно не помню, по-моему, в 2003 офисе этой кнопки вообще нет (и нет проблем)
...
Рейтинг: 0 / 0
filedialog
    #39110069
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuguest_rusimport,
Свойство о котором Вы говорите определяет вид-список или таблица.
Короче бросаю эту затею. Огромное спасибо за отклик

В 2003-м то, о чем вы говорите, тоже есть, но выглядит по другому, и за предварительный просмотр отвечает как раз
.InitialView = msoFileDialogViewPreview (ниже прилагаю скрин)
Проверил в 2003-м такой код (никаких ошибок при двойном клике мышкой на файле не обнаружил :( )
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
Option Compare Database

Option Explicit
 Private Declare Function SHGetFolderPath Lib "shell32" _
     Alias "SHGetFolderPathA" _
     (ByVal hwndOwner As Long, ByVal nFolder As Long, _
     ByVal hToken As Long, ByVal dwFlags As Long, _
     ByVal pszPath As String) As Long

 Private Declare Function GetTempPath Lib "kernel32" _
     Alias "GetTempPathA" _
     (ByVal nBufferLength As Long, _
     ByVal lpBuffer As String) As Long

 'More Commonly used CSIDL values.
 'For the full list, search MSDN for "CSIDL Values"
 Private Const CSIDL_PROGRAMS As Long = &H2
 Private Const CSIDL_PERSONAL As Long = &H5
 Private Const CSIDL_FAVORITES As Long = &H6
 Private Const CSIDL_STARTMENU As Long = &HB
 Private Const CSIDL_MYDOCUMENTS As Long = &HC
 Private Const CSIDL_MYMUSIC As Long = &HD
 Private Const CSIDL_MYVIDEO As Long = &HE
 Private Const CSIDL_DESKTOPDIRECTORY As Long = &H10
 Private Const CSIDL_APPDATA As Long = &H1A
 Private Const CSIDL_LOCAL_APPDATA As Long = &H1C
 Private Const CSIDL_INTERNET_CACHE As Long = &H20
 Private Const CSIDL_WINDOWS As Long = &H24
 Private Const CSIDL_SYSTEM As Long = &H25
 Private Const CSIDL_PROGRAM_FILES As Long = &H26
 Private Const CSIDL_MYPICTURES As Long = &H27

 'Constants used in the SHGetFolderPath call
 Private Const CSIDL_FLAG_CREATE As Long = &H8000&
 Private Const SHGFP_TYPE_CURRENT = 0
 Private Const SHGFP_TYPE_DEFAULT = 1
 Private Const MAX_PATH = 260

 'Public enumeration to give friendly names for the CSIDL values
 Public Enum SpecialFolderIDs
  sfAppDataRoaming = CSIDL_APPDATA
  sfAppDataNonRoaming = CSIDL_LOCAL_APPDATA
  sfStartMenu = CSIDL_STARTMENU
  sfStartMenuPrograms = CSIDL_PROGRAMS
  sfMyDocuments = CSIDL_PERSONAL
  sfMyMusic = CSIDL_MYMUSIC
  sfMyPictures = CSIDL_MYPICTURES
  sfMyVideo = CSIDL_MYVIDEO
  sfFavorites = CSIDL_FAVORITES
  sfDesktopDir = CSIDL_DESKTOPDIRECTORY
  sfInternetCache = CSIDL_INTERNET_CACHE
  sfWindows = CSIDL_WINDOWS
  sfWindowsSystem = CSIDL_SYSTEM
  sfProgramFiles = CSIDL_PROGRAM_FILES
  
  'There is no CSIDL for the temp path,
  'so we need to give it a dummy value
  'and treat it differently in the function
  sfTemporary = &HFF
 End Enum

 'Get the path for a Windows special folder
 Public Function SpecialFolderPath( _
     ByVal uFolderID As SpecialFolderIDs) As String

  'Create a buffer of the correct size
  Dim sBuffer As String * MAX_PATH
  Dim lResult As Long
  
  If uFolderID = sfTemporary Then
   'Use GetTempPath for the temporary path
   lResult = GetTempPath(MAX_PATH, sBuffer)
   
   'The GetTempPath call returns the length and a
   'trailing \ which we remove for consistency
   SpecialFolderPath = Left$(sBuffer, lResult - 1)
  Else
   'Call the function, passing the buffer
   lResult = SHGetFolderPath(0, _
        uFolderID + CSIDL_FLAG_CREATE, 0, _
        SHGFP_TYPE_CURRENT, sBuffer)
  
   'The SHGetFolderPath function doesn't give us a
   'length, so look for the first vbNullChar
   SpecialFolderPath = Left$(sBuffer, _
             InStr(sBuffer, vbNullChar) - 1)
  End If
   
 End Function

 Sub TestFileDialog()
 Dim sf As String
 Dim p As String
 sf = SpecialFolderPath(sfMyDocuments)

 With Application.FileDialog(msoFileDialogFilePicker)
   .InitialFileName = sf
   .InitialView = msoFileDialogViewPreview
   .Show
   p = .SelectedItems(1)
   Application.FollowHyperlink p
 End With
     
 End Sub
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / filedialog
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]