MaCgyver Posted May 14, 2011 Share Posted May 14, 2011 It's been a few years so I'm working off the cob webs. Not that I was ever that great, but I was getting into the swing of it. Looking through the helpfile, but fatigue is probably got my brain fried. Anyway looking to Search for a specific word within a group of .txt files. Once they are located the file(s) name(s) get copied into Excel. What function should I be looking at? Link to comment Share on other sites More sharing options...
guinness Posted May 14, 2011 Share Posted May 14, 2011 You should be looking at the Excel Functions with FileOpen, FileRead, FileClose, StringInStr & _FileListToArray these should get you started. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
MaCgyver Posted May 15, 2011 Author Share Posted May 15, 2011 You should be looking at the Excel Functions with FileOpen, FileRead, FileClose, StringInStr & _FileListToArray these should get you started. Thanks for the direction. Going to work in the search part (I can manually do for now). However I got the write to excel part done. If anyone can make the code shorter or more efficient, please advise. Thanks [#include <Excel.au3> ; Shows the filenames of all files in the current directory. $search = FileFindFirstFile("*.*") $i = 0 Local $oExcel = _ExcelBookNew() ;Create new file, make visible ; Check if the search was successful If $search = -1 Then MsgBox(0, "Error", "No files/directories matched the search pattern") Exit EndIf While 1 $file = FileFindNextFile($search) If @error Then ExitLoop $i = ($i + 1) MsgBox(4096, "File:", $file);show name before writing to cell _ExcelWriteCell($oExcel, $file, $i, 1) ;Write to the Cell WEnd ; Close the search handle FileClose($search)] Link to comment Share on other sites More sharing options...
hannes08 Posted May 16, 2011 Share Posted May 16, 2011 Hi MaCgyver, I'd do it like this: $a_files = _FileListToArray("C:\Temp\", "*", 1) $j = 1 $oExcel = _ExcelBookNew() For $i = 1 To $a_files[0] If _search($a_files[$i], "stringtosearch") Then _ExcelWriteCell($oExcel, $a_files[$i], $j, 1) $j += 1 EndIf Next Func _search($file, $string) $S_file = FileRead($file) If StringInStr($S_file, $string) Then Return True Else Return False EndIf EndFunc Regards,Hannes[spoiler]If you can't convince them, confuse them![/spoiler] Link to comment Share on other sites More sharing options...
MaCgyver Posted May 16, 2011 Author Share Posted May 16, 2011 (edited) Hi MaCgyver, I'd do it like this: $a_files = _FileListToArray("C:\Temp\", "*", 1) $j = 1 $oExcel = _ExcelBookNew() For $i = 1 To $a_files[0] If _search($a_files[$i], "stringtosearch") Then _ExcelWriteCell($oExcel, $a_files[$i], $j, 1) $j += 1 EndIf Next Func _search($file, $string) $S_file = FileRead($file) If StringInStr($S_file, $string) Then Return True Else Return False EndIf EndFunc Thanks. Looks a lot cleaner. Will try it out in a few. Edited May 16, 2011 by MaCgyver Link to comment Share on other sites More sharing options...
hannes08 Posted May 16, 2011 Share Posted May 16, 2011 Thanks. Looks a lot cleaner. Will try it out in a few. I was looking for _search in my helpfile, but cannot find. Where can I get into on this UDF? Thanks!If you look at the bottom of the code, you can see that _search is a function I defined by myself. Regards,Hannes[spoiler]If you can't convince them, confuse them![/spoiler] Link to comment Share on other sites More sharing options...
MaCgyver Posted May 16, 2011 Author Share Posted May 16, 2011 (edited) If you look at the bottom of the code, you can see that _search is a function I defined by myself. yes..thats why i took off what i said but you got it before I could. its 4:40am my time and I've slept maybe 4 hours a night for the past two weeks. Thanks for what you wrote and I will be sure to be fully awake before I look at code and make a comment. Once again thanks! Edited May 16, 2011 by MaCgyver Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now