Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.145.50] |
|
Сообщ.
#1
,
|
|
|
Ребят, привет!
Помогите, пожалуйста: мне надо получить значение свойства .Comments из закрытого excel-файла, при этом у меня в переменной типа String хранится полный путь к этому файлу (с именем). Путь до этого берется с помощью Application.GetOpenFilename - пользователь сам выбирает файл, т.к. он может находиться в произвольном месте. Файл открывается позднее, значение свойства .Comments нужно еще до открытия. Насколько я понял, мне нужно использовать метод GetDetailsOf объекта Folder из WSH, но там используется следующая конструкция: objFolder.GetDetailsOf(objItem, i) Так вот, собсна вопрос: как мне из своего String'ового пути файла и имени (например, C:/test.xls) получить имя папки в objFolder и имя файла в objItem? Извините, если криво выражаюсь, но я, мягко говоря, не силен во всех этих Shell'ах и иже с ними. Спасибо. |
Сообщ.
#2
,
|
|
|
Dim tmp() As String '....... tmp = split(Application.GetOpenFilename, "\") objItem = tmp(ubound(tmp)) tmp(ubound(tmp)) = "" objFolder = join(tmp, "\") |
Сообщ.
#3
,
|
|
|
Akina, дружище, спасибо тебе, только вот загвоздка: после твоего кода пишу
TestVar = objFolder.GetDetailsOf(objItems, 1) и получаю ошибку "Object required", типа objFolder и objItem - не объекты. Как сделать их таковыми? Добавлено В общем, MSDN пришел ко мне на помощь Содрал оттуда пример и адаптировал для себя Sub Temp1() Dim tmp() As String Dim objFolder As Object Dim objShell As Object '....... tmp = Split(Application.GetOpenFilename, "\") tmpFileName = tmp(UBound(tmp)) tmp(UBound(tmp)) = "" tmpFilePath = Join(tmp, "\") Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(tmpFilePath) If (Not objFolder Is Nothing) Then Dim objFolderItem Set objFolderItem = objFolder.ParseName(tmpFileName) If (Not objFolderItem Is Nothing) Then Dim objInfo objInfo = objFolder.GetDetailsOf(objFolderItem, 14) End If Set objFolderItem = Nothing End If Set objFolder = Nothing Set objShell = Nothing End Sub |