#vba #filedialog
#vba #файловый каталог
Вопрос:
Я тестирую пользовательское приложение, к которому они будут обращаться удаленно. Существует функция диалогового окна с файлами, которую я включил с помощью объекта FileDialog. Я бы хотел, чтобы они изначально открывали свои собственные локальные файлы, используя свойство.InitialFileName, но у меня возникли проблемы с поиском правильного пути для первоначального открытия. Вот что у меня есть на данный момент:
Dim fileDialog As Object 'Office.FileDialog
Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
With fileDialog
.InitialFileName = "C on " amp; Environ("CLIENTNAME")
....
Когда я открываю диалоговое окно без указания начального пути к файлу, есть место, к которому пользователь может получить доступ, это «»C на PCName», поэтому я подумал, что я мог бы просто установить одинаковую строку (в приведенном выше коде), но это не сработает, если я установлюэто как путь. Environ(«ИМЯКЛИЕНТА») получает имя компьютера пользователя, поэтому я думаю, что я близок к решению.
Спасибо за любые предложения.
Ответ №1:
Здесь есть список потенциально полезных переменных среды
Это может быть отправной точкой
Option Explicit
Sub x()
Dim fileDialog As Object 'Office.FileDialog
Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
With fileDialog
.InitialFileName = Environ("HOMEPATH")
.Show
End With
End Sub
Комментарии:
1. Спасибо за ответ. Я думаю, что Environ(«ДОМАШНИЙ ПУТЬ») просто получает локальный путь пользователя на сервере, к которому они подключаются удаленно. Мне нужен локальный путь удаленного пользователя, тот, который находится на компьютере, который они используют для подключения к удаленному серверу. Я нашел решение — используйте » tsclient c», чтобы открыть локальный C удаленного пользователя в диалоговом окне file.
2. Я думаю, вы могли бы повысить вероятность получения ответа и, возможно, получить менее жестко запрограммированное решение, изменив теги: я бы сформулировал вопрос примерно так: «как мне получить переменную домашней среды пользователя для RDP [или любого другого приложения, которое вы используете]» — ваш вопрос не о filedialog или vba егоо среде удаленного клиента — просто мысль — удачи
Ответ №2:
Неважно. Я верю, что нашел решение:
Файловый каталог.InitialFileName = «tsclient c»