Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 10 ]
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Тема: Просмотр папки с файлами
DIM myWord AS Word.Application
Set myWord = New Word.Application 'объявляем объект с именем ...
CALL SHELL("explorer D:\Рабочая папка\Пользователь\", vbNormalFocus) 'открыть папку с именем ...
Set myWord = Nothing
По этому скрипту открыли папку и если в ней напимер 50 файлов то как сделать Вид > Таблица, как???
Там ещё могут быть в Вид:
Эскизы страниц
Плитка
Значки
Список
Таблица
Как сделать Упорядочить значки > Изменён??
Там ещё могут быть в Упорядочить значки:
Имя
Размер
Тип
Изменён
- VBA-addict
- майор
- Неактивен
- Зарегистрирован: 12.10.2010
- Сообщений: 66
Re: Просмотр папки с файлами
Вкратце, напрямую - Никак
эти настройки хранятся в реестре винды - помните преснопамятные настройки для каждой папки...
обходной путь - подстроить их для папки, которую вы собираетесь открыть...
начало пути:
внешняя ссылка
внешняя ссылка
внешняя ссылка
Если удастся докопаться - просьба дописать топик
Отредактировано VBA-addict (20.12.2010 13:48:33)
Делай, что можешь, и будь, что будет!
- VBA-addict
- майор
- Неактивен
- Зарегистрирован: 12.10.2010
- Сообщений: 66
Re: Просмотр папки с файлами
Кстати, Эндрю, ваша реализация наводит на мысль, что вы, возможно движетесь не в том направлении...
зачем вам открытие в проводнике?
Гораздо удобнее использовать программно окно Открыть офиса, в котором вы можете задать массу параметров, недоступных вам через проводник...
Делай, что можешь, и будь, что будет!
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
Dim myWord As Word.Application
Set myWord = New Word.Application 'объявляем объект с именем ...
Call Shell("explorer D:\Рабочая папка\Пользователь\", vbNormalFocus) 'открыть папку с именем ...
Set myWord = Nothing
Dim winShell As Object
Dim w As Object
Set winShell = CreateObject("Shell.Application").Windows
For Each w In winShell
If w.LocationURL Like "file:///D:/Рабочая*" Then CallByName w.Document, "CurrentViewMode", VbLet, 3: Exit For
Next
'FVM_ICON = 1
'FVM_SMALLICON = 2
'FVM_LIST = 3
'FVM_DETAILS = 4
'FVM_THUMBNAIL = 5
'FVM_TILE = 6
'FVM_THUMBSTRIP = 7
'FVM_CONTENT = 8
осталось два вопроса
1.
как чтобы отказаться от Like с
'"file:///D:/Рабочая%20папка/Пользователь"
переделать в
"D:\Рабочая папка\Пользователь\"
2.
сделать Вид > Таблица сделали!!!!!!
Как сделать Упорядочить значки > Изменён??
Там ещё могут быть в Упорядочить значки:
Имя
Размер
Тип
Изменён
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
Гораздо удобнее использовать программно окно Открыть офиса, в котором вы можете задать массу параметров, недоступных вам через проводник...
Это окно же маленькое 1\4 экрана, а речь о например 50 файлах, неудобно смотреть, ОК??
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
вот это поворот, я то думал, что
в строке
Then CallByName w.Document, "CurrentViewMode", VbLet, 8: Exit For
Например, 8 это будет показ FVM_CONTENT, но проверил, от 1 до 8 всё время показывает списком????????????
'FVM_ICON = 1
'FVM_SMALLICON = 2
'FVM_LIST = 3
'FVM_DETAILS = 4
'FVM_THUMBNAIL = 5
'FVM_TILE = 6
'FVM_THUMBSTRIP = 7
'FVM_CONTENT = 8
Что не так???????
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
вот скрипт
Dim myWord As Word.Application
Set myWord = New Word.Application 'объявляем объект с именем ...
Папка = "D:\Рабочая папка\Пользователь\" 'открываем папку с именем ...
Call Shell("explorer " & Папка, vbNormalFocus) 'открыть папку с именем ...
Set myWord = Nothing
И = Replace$("D:\Рабочая папка\Пользователь\", "\", "/")
И1 = Replace$(И, " ", "%20")
Папка = "file:///" & Left$(И1, (Len(И1) - 1))
Dim winShell As Object
Dim w As Object
Set winShell = CreateObject("Shell.Application").Windows
For Each w In winShell
Обрабатываемое_окно = w.LocationURL
If w.LocationURL = Папка Then MsgBox "Зашло в условие": CallByName w.Document, "CurrentViewMode", VbLet, 2: Exit For
Next
Проверял, когда VbLet, 1 и VbLet, 2
на строке
If w.LocationURL = Папка Then MsgBox "Зашло в условие": CallByName w.Document, "CurrentViewMode", VbLet, 1: Exit For
ошибка
Рун Тайм Эррор -2147417848(80010108)
Automation error
Вызванный объект был отключён от клиентов
И самое главное эта ошибка бывает не всегда, иногда её нет и иногда не заходит в последнее условие, так как не показывает
MsgBox "Зашло в условие", специально его поставил!!!!!
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
Убрал МсгБокс, всё хорошо
Я понимаю, что Вам это не интересно проверять, но я 4 раза проверил лично, каждый раз менял
в строке CallByName w.Document, "CurrentViewMode", VbLet, 2
последнюю цифру и записывал на лист, какая константа как открывает папку, один раз записал так:
'FVM_ICON = 1 значки
'FVM_SMALLICON = 2 значки
'FVM_LIST = 3 список
'FVM_DETAILS = 4 таблица
'FVM_THUMBNAIL = 5 таблица
'FVM_TILE = 6 таблица
'FVM_THUMBSTRIP = 7 таблица
'FVM_CONTENT = 8 таблица
Без задней мысли второй раз проверил, всё уже по другому в том числе и появились
Эскизы страниц, Плитка, Просмотр диафильмов
А потом рискнул написать 9 и 10, ошибок не было, каждый раз открывало в каком то из режимов, где можно точно узнать об этом всём??
Можно ли и как папку сначала открывать невидимой, узнать открыв папку в каком она режиме просмотра открыта, изменить её до нужного и затем сделать видимой????
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
сделал всё, кроме как ещё по усмотрению программировать опцию Упорядочить значки при просмотре папки, имеется ввиду например по Размеру?????
Даже не знаю с чего начинать????
по ссылке внешняя ссылка
Там Вордовский файл с кнопкой будет открывать папку С. В нутро кнопки если залезть можно менять Виды просмотра и размеры окна, но удовлетворения нет, глючное оно всё же, как и IE.
То ли дело строки программировать, вычесть, добавить без ошибок всегда
- Ципихович Эндрю
- генерал-полковник
- Неактивен
- Зарегистрирован: 04.02.2010
- Сообщений: 506
- Поблагодарили: 23
Re: Просмотр папки с файлами
Решил:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1 'сделать окно в режиме нормальный
Const SW_SHOWMINIMIZED = 2 'свернуть окно
Const SW_MAXIMIZE = 3 'сделать окно во весь экран
'___________________________________________________________________________
Private Sub CommandButton1_Click()
Dim Папка As String
Set objShell = CreateObject("Shell.Application")
Папка = "D:\Рабочая папка\Нужное" 'не нужно в конце места нахождения папки ставить наклонную
objShell.ShellExecute Папка & "\", , , , 0 'последняя цифра означает: 0 - скрытое окно
Sleep 50 'нужна задержка, так как окно не успевает создаться
For Each w In objShell.Windows
If InStr(TypeName(w.Document), "ShellFolderView") > 0 Then
If w.Document.Folder.self.Path = Папка Then
w.Document.CurrentViewMode = 4
'последняя цифра означает:
'Значки 1
'Значки 2
'Список 3
'Таблица 4
'Эскизы страниц 5
'Плитка 6
'Просмотр диафильмов 7
'Значки 8
ShowWindow w.hwnd, 3
'SW_SHOWNORMAL = 1 'сделать окно в режиме нормальный
'SW_SHOWMINIMIZED = 2 'свернуть окно
'SW_MAXIMIZE = 3 'сделать окно во весь экран
Exit For
End If
End If
Next
Set objShell = Nothing
End Sub
Чтобы уже счастье было полным, помогите в этой частисделал всё, кроме того как ещё по усмотрению программировать опцию Упорядочить значки при просмотре папки, имеется ввиду например по Размеру?????
Всего там можно сортироать, по крайней мере в ХР по
Имя
Размер
Тип
Изменён
Даже не знаю с чего начинать????
Заранее спасибо
Сообщений [ 10 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Просмотр папки с файлами
Если говорить о приложениях из офисного пакета, то самая популярная, разумеется, Microsoft Word. Вряд ли в ближайшее время у нее вдруг возникнет серьезный конкурент, который сможет сместить с лидерских позиций. На портале о Microsoft Office Word вы узнаете про: отступ первой строки ко всему документу.
Хотя текстовых редакторов много, но, у нас в стране, по крайней мере, Ворд значительно опережает другие. На портале о Microsoft Office Word вы узнаете про: убрать непечатуемые знаки в тексте.
На сайте, посвященном Microsoft Word, вы найдете множество необходимых сведений, а какие-то проблемы, детали и нюансы можно обсудить на форуме Ворд Эксперт. Наш сайт о Microsoft Office Word даст ответ про: как заполнить бланк в ворде.
Довольно простая и удобная пользователю регистрационная система, которая досконально объяснена в основном разделе, доступный и понятный всем язык общения, хорошая модерация, исключающая спам и флуд, это так сказать общечеловеческие достоинства форума. Наш сайт о Microsoft Office Word даст ответ про: как из word сделать doc.
С точки зрения предмета обсуждения все так же устроено очень разумно. Вопросы, которые приходят на ум большому количеству пользователей, вынесены в главный раздел, а остальным можно обсудить в разделах, посвященных настройкам, редактированию и форматированию текста, шаблонам, а так же автоматизации процесса. На портале о Microsoft Office Word вы узнаете про: изменить шрифт в outlook 2010.
Участникам предложено самим научиться создавать макросы, использовать готовые или оставить заказ. По такому же принципу решаются все остальные вопросы. Наш сайт о Microsoft Office Word даст ответ про: создание макросов в excel 2007.
Есть и общие темы, не вошедшие в главные разделы и подфорум, где можно высказать свои пожелания.