Тема: Как найти файл?
Есть ли возможность найти любой файл, неизвестно где находящийся, для получения пути его нахождения.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как найти файл?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть ли возможность найти любой файл, неизвестно где находящийся, для получения пути его нахождения.
конечно есть - надо написать прогу, которая переберет все папки, посмотрит все файлы и если найдет - отдаст полный путь до файла ...
Отличное решение. Осталось только написать ее родимую.Есть ли на этот счет соображения?
Функция VB- "Dir" ограничивает возможности решения проблемы.
Рад, что Вам понравилось решение..
>>Функция VB- "Dir" ограничивает возможности решения проблемы.>>>
да нет никакой проблемы - почитайте хелп по VBScript в MSDN -там куча сэмплов, Вам нужен объект FSO - File System Object, Folder,Folders, File , сначала надо определить доступные логические устройства и все их перебирать, просматривая вложенные папки .
А насчет соображений.... только одно - какие Ваши предложения )
посмотрите
https://www.caduser.ru/forum/topic11015.html
там почти все готово
Все о скриптах - очень интересное место, надо только Notepad, чтобы комп боком поставить!!!
http://msdn.microsoft.com/scripting
> Paha
из Вашего первого сообщения не следует какой у Вас уровень знаний по VB. Во втором Вы поведали, что VB Вам знаком. Значит, я правильно сделал, что написал один из вариантов, как это сделать, не вдаваясь в подробности. Ведь Вы на форуме Программирование :: VBA, значит VBA знаете. А конкретная реализация.. если есть сложности - все можно обсудить
Спасибо за наводку, пока не пробовал применительно к моей проблеме, но уверен что должно получиться. В VB совсем не давно поэтому знания пока поверхностные. Надеюсь со временем углубится.
>>Все о скриптах - очень интересное место, надо только Notepad, чтобы комп боком поставить!!!>>
извините не понял шутки. Проясните , если не трудно.
Спасибо.
а это не шутка. скрипты- это исполняемые текстовые файлы. Ссылка на сайт с полным описанием этой технологии. Скриптами можно не только имена файлов смотреть, но и реестр Винды модифицировать, и права пользователей менять и прочее.
в проге converterACAD - www.mechmagic.com - все что касается файлов - на скриптах написано. На сайте www.vbnet.ru есть моя программа в примерах, удаленное изменение пароля http://www.vbnet.ru/sample/sampledownload.asp?id=250
тоже как скриптами что можно сделать...
Ну вот, дошли руки до поиска файла. Ищет какой угодно файл везде, где возможно.
Спасибо за помощь! Был очень рад общению.
Рад, что Вам понравилось и получилось. Вот примерчик скрипта, понравится - скопируйте в блокнот и назовите EXCEL.VBS
Проводником запустите - скрипты, вещь могучая. Очень просто получается доступ к реестру Винды, намного проще, чем через АПИ. Если будут вопросы - мыльте - www.mechmagic.com
' Windows Script Host Sample Script ' ' ------------------------------------------------------------------------ ' Copyright (C) 1996 Microsoft Corporation ' ' You have a royalty-free right to use, modify, reproduce and distribute ' the Sample Application Files (and/or any modified version) in any way ' you find useful, provided that you agree that Microsoft has no warranty, ' obligations or liability for any Sample Application Files. ' ------------------------------------------------------------------------ ' This sample will display Windows Scripting Host properties in Excel. L_Welcome_MsgBox_Message_Text = "This script will display Windows Scripting Host properties in Excel." L_Welcome_MsgBox_Title_Text = "Windows Scripting Host Sample" Call Welcome() ' ******************************************************************************** ' * ' * Excel Sample ' * Dim objXL Set objXL = WScript.CreateObject("Excel.Application") objXL.Visible = TRUE objXL.WorkBooks.Add objXL.Columns(1).ColumnWidth = 20 objXL.Columns(2).ColumnWidth = 30 objXL.Columns(3).ColumnWidth = 40 objXL.Cells(1, 1).Value = "Property Name" objXL.Cells(1, 2).Value = "Value" objXL.Cells(1, 3).Value = "Description" objXL.Range("A1:C1").Select objXL.Selection.Font.Bold = True objXL.Selection.Interior.ColorIndex = 1 objXL.Selection.Interior.Pattern = 1 'xlSolid objXL.Selection.Font.ColorIndex = 2 objXL.Columns("B:B").Select objXL.Selection.HorizontalAlignment = &hFFFFEFDD ' xlLeft Dim intIndex intIndex = 2 Sub Show(strName, strValue, strDesc) objXL.Cells(intIndex, 1).Value = strName objXL.Cells(intIndex, 2).Value = strValue objXL.Cells(intIndex, 3).Value = strDesc intIndex = intIndex + 1 objXL.Cells(intIndex, 1).Select End Sub ' ' Show WScript properties ' Call Show("Name", WScript.Name, "Application Friendly Name") Call Show("Version", WScript.Version, "Application Version") Call Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name") Call Show("Path", WScript.Path, "Application Context: Path Only") Call Show("Interactive", WScript.Interactive, "State of Interactive Mode") ' ' Show command line arguments. ' Dim colArgs Set colArgs = WScript.Arguments Call Show("Arguments.Count", colArgs.Count, "Number of command line arguments") For i = 0 to colArgs.Count - 1 objXL.Cells(intIndex, 1).Value = "Arguments(" & i & ")" objXL.Cells(intIndex, 2).Value = colArgs(i) intIndex = intIndex + 1 objXL.Cells(intIndex, 1).Select Next ' ******************************************************************************** ' * ' * Welcome ' * Sub Welcome() Dim intDoIt intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _ vbOKCancel + vbInformation, _ L_Welcome_MsgBox_Title_Text ) If intDoIt = vbCancel Then WScript.Quit End If End Sub
У мя просто нет такого типа данных как FileSystemObject, есть возможность обойти эту фишку?
Работает функция Application.FindFile, но вот путь открываемого файла подцепить не могу (не знаю как)
RIM
У мя просто нет такого типа данных как FileSystemObject
А вы что под линукс пишите :).
Если FSO не хотите или не можете использовать? то почитайте о API функциях начинающихся на Find*.
Посмотри еще здесь:
http://kbyte.ru/Forum/Default.aspx?forum=8
и вот здесь:
http://kbyte.ru/Refbooks/
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как найти файл?
Форум работает на PunBB, при поддержке Informer Technologies, Inc