Страницы: 1
RSS
Свойства файла
 
Знаю как вызвать свойства открытой книги. Есть ли в VBA возможность, извлечь свойства файла (мне надо дату создания и последнего обновления) из закрытого файла.  
 
СПАСИБО.
 
Спасибо Дима,  
 
Искал в Гугле, на планете искать не стал, на работе времени в обрез.  
 
Извини, исправлюсь...
 
Да нет, что Вы. Просто у нас поисковик никудышный много времени отнимает... Ссылок пустых много.
 
Наверное a что-то делаю не так. Потому как директива Set oFolder = .Namespace(SourcePathFile) возвращает Nothing и работает только если путь написать явно.  
 
Дмитрий, подскажи пожалуйста синтаксис для подключения переменной.
 
Тип - String, получаю присвоением из ячейки (проверил Watch), путь наиреальнейший - проверил явной подстановкой, слэшик не затесался (проверил с ним и без), путь без имени файла.  
 
Добавлю - с явной подстановкой значений все работает, ну это ж не дело - явная подстановка.
 
Накопал - синтаксис должен быть с двойными скобками:  
 
Set oFolder = .Namespace((SourcePathFile)) или  
Set oFolder = .Namespace("" & SourcePathFile) или  
Set oFolder = .Namespace(CStr(SourcePathFile))    
 
Вот ссылка:    
 
http://forum.script-coding.info/viewtopic.php?id=1729
 
Интересно, это в глюки, баги или фичи записывать?  
Хотя скорее в никуда, просто .Namespace принимает принимает не String, а как это ни странно Variant  
Вот это работает:  
Dim myPath As Variant  
 myPath = "C:\Windows"  
MsgBox CreateObject("Shell.Application").Namespace(myPath)  
 
А вот это нет:  
Dim myPath As String  
 myPath = "C:\Windows"  
MsgBox CreateObject("Shell.Application").Namespace(myPath)  
 
А всякие преобразования типа двойных скобок и пустых строк генерят новую переменную в памяти (естественно типа Variant)
Bite my shiny metal ass!      
 
А как же строки ниже  
Set oFolder = .Namespace("" & SourcePathFile) или  
Set oFolder = .Namespace(CStr(SourcePathFile))    
 
Здесь же явное строковое преобразование, но факт, что переменная новая.  
Почему-то .Namespace переменную на блюдечке не понимает.
 
{quote}{login=VovaK}{date=04.02.2010 10:27}{thema=}{post}А как же строки ниже{/post}{/quote}1. Ясно, что путь может быть только текстовой строкой.  
2. Ясно, что по чей-то прихоти или недосмотру Namespace принимает только (а может еще что-то?) Variant, и точно не принимает String.  
3. Экселю нужно где-то хранить результат вычисления выражений:  
а) "" & SourcePathFile  
б) (SourcePathFile)  
в) CStr(SourcePathFile)  
И он (эксель) отводит в памяти место, заранее не зная что там будет, поэтому тип - Variant.  
 
 
*Возможно "старшие товарищи" меня поправят.
Bite my shiny metal ass!      
Страницы: 1
Читают тему
Наверх