Jump to content

Trouble using _FileListToArray


Recommended Posts

I can't seem to integrate the _FileListToArray to read-in multiple URL's from a .txt file and display the table data in the _ArrayDisplay. I wanted to see if I would be able to use the text file and send the data to a excel sheet and later process the data to my map. 

$filelist = _FileListToArray(@scriptdir, "*.txt")
#include <IE.au3>
#include <Array.au3>

$oIE = _IECreate("http://www.realtor.com/propertyrecord-search/North-Canton_OH/Portage-St-NW", 0, 0)
$oTable = _IETableGetCollection ($oIE) ; Get number of tables
$iNumTables = @extended
MsgBox(0, "Table Info", "There are " & $iNumTables & " tables on the page")
$oTable = _IETableGetCollection ($oIE, $iNumTables-1) ; Get last table
$aTableData = _IETableWriteToArray ($oTable)
_ArrayDisplay($aTableData)

 

Edited by aa2zz6
Link to comment
Share on other sites

i can't see that you used _FileListToArray in your script:

  • i don't say it's nonsence to combine _FileListToArray with _IETableWriteToArray
  • but i didn't know a  case where it is usefull/needed.

so: what's the real problem? More infos please an a runable reproducer script showing the issue(s).

or are you searching for:

Quote

_FileReadToArray

Reads the specified file into a 1D or 2D array

this is in combination with _IENavigate very usefull to browse through different websites.

Edited by AutoBert
Link to comment
Share on other sites

I'm trying to replace a single url with a solution to read-in a series of url's from all the text files in a folder. The text file are listed in alphabetical order (a-z) and contain url's from a website listing address in table. From what I read from the help file I thought that _FileListToArray would be the solution to reading all the text file in my folder.

Edited by aa2zz6
Link to comment
Share on other sites

You would need a combination of _FileListToArray and FileRead.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Function you need  is FileReadToArray() not  _FileListToArray()

#comments-start URLlist.txt
    http://www.realtor.com/propertyrecord-search/North-Canton_OH/Portage-St-NW
    http://www.realtor.com/propertyrecord-search/Sound-Canton_OH/Cronta-St-NW
    http://www.realtor.com/propertyrecord-search/Center-Canton_OH/Osaka-St-NW
#comments-end

#include <IE.au3>
#include <Array.au3>

Global $URLlist = FileReadToArray(@ScriptDir & "\URLlist.txt")
If Not @error And IsArray($URLlist) Then
    For $url = 0 To UBound($URLlist) - 1
        Local $oIE = _IECreate($URLlist[$url], 0, 0)
        Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
        $iNumTables = @extended
        MsgBox(0, "Table Info", "There are " & $iNumTables & " tables on the page")
        $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
        $aTableData = _IETableWriteToArray($oTable)
        _ArrayDisplay($aTableData)
    Next
EndIf

 

Regards,
 

Link to comment
Share on other sites

@Trong, but they clearly stated...

Quote

a series of url's from all the text files in a folder

 

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

3 minutes ago, aa2zz6 said:

'm trying to replace a single url with a solution to read-in a series of url's from all the text files in a folder. The text file are listed in alphabetical order (a-z) and contain url's from a website listing address in table

Ok now i know there is a case where it's usefull to combine, please attach some txt-files with data URL's

5 minutes ago, aa2zz6 said:

From what I read from the help file I thought that _FileListToArray would be the solution to reading all the text file in my folder.

Yes _FileListToArray gives you a list of all files according to used filter.

1 minute ago, guinness said:

@Trong, but they clearly stated...

 

so there is a "outer.loop" needed:

#include <IE.au3>
#include <Array.au3>
Global $URLlist
$filelist = _FileListToArray(@ScriptDir, "*.txt")
If Not @error Then
    For $iFiles = 1 To $filelist[0]
        $URLlist = FileReadToArray(@ScriptDir & $filelist[$iFiles])
        If Not @error And IsArray($URLlist) Then
            For $url = 0 To UBound($URLlist) - 1
                Local $oIE = _IECreate($URLlist[$url], 0, 0)
                Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
                $iNumTables = @extended
                MsgBox(0, "Table Info", "There are " & $iNumTables & " tables on the page")
                $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
                $aTableData = _IETableWriteToArray($oTable)
                _ArrayDisplay($aTableData)
                ;some more code to save $aTableData and write to excel
            Next
        EndIf
    Next
EndIf

 

Link to comment
Share on other sites

To many nested ifs. I would get rid of the @error check and use...

For $iFiles = 1 To UBound($filelist) - 1

 

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I would also recomend that this solution:

#include <IE.au3>
#include <Array.au3>
Global $URLlist
_Example()
Func _Example()
    $filelist = _FileListToArray(@ScriptDir, "*.txt")
    If @error Then Return SetError(1)

    For $iFiles = 1 To $filelist[0]
        $URLlist = FileReadToArray(@ScriptDir & $filelist[$iFiles])
        If @error Then ContinueLoop
        
        For $url = 0 To UBound($URLlist) - 1
            Local $oIE = _IECreate($URLlist[$url], 0, 0)
            Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
            $iNumTables = @extended
            MsgBox(0, "Table Info", "There are " & $iNumTables & " tables on the page")
            $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
            $aTableData = _IETableWriteToArray($oTable)
            _ArrayDisplay($aTableData)
            ;some more code to save $aTableData and write to excel
        Next
    Next
EndFunc

You should not check for success and doing actions for success.
You should handle @errors , and when happends then exit / return or continue loop without analyzing next part of code.

Edited by mLipok
wording

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Edit: everyone is too fast!

My way with UEZ, mLipok  suggestion:

1 hour ago, aa2zz6 said:

I can't seem to integrate the _FileListToArray to read-in multiple URL's from a .txt file ....

Solution 1:

#comments-start URLlist.txt
    http://www.realtor.com/propertyrecord-search/North-Canton_OH/Portage-St-NW
    http://www.realtor.com/propertyrecord-search/Sound-Canton_OH/Cronta-St-NW
    http://www.realtor.com/propertyrecord-search/Center-Canton_OH/Osaka-St-NW
#comments-end

#include <IE.au3>
#include <Array.au3>

Local $url, $URLlist = FileReadToArray(@ScriptDir & "\URLlist.txt")
If @error Then Exit
For $url = 0 To UBound($URLlist) - 1
    If Not StringInStr($URLlist[$url], "http") Then ContinueLoop
    Local $oIE = _IECreate($URLlist[$url], 0, 0)
    Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
    $iNumTables = @extended
    MsgBox(64, "Table Info", "There are " & $iNumTables & " tables on the page")
    $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
    $aTableData = _IETableWriteToArray($oTable)
    _ArrayDisplay($aTableData)
Next

 

 

1 hour ago, aa2zz6 said:

I'm trying to replace a single url with a solution to read-in a series of url's from all the text files in a folder. ...

Solution 2:

#include <IE.au3>
#include <Array.au3>
#include <File.au3>

Local $URLlist, $url, $file, $ListUrlFile = _FileListToArray(@ScriptDir, "*.txt")
If Not @error Then
    For $file = 1 To $ListUrlFile[0]
        $URLlist = FileReadToArray($ListUrlFile[$file])
        If @error Then ContinueLoop
        For $url = 0 To UBound($URLlist) - 1
            If Not StringInStr($URLlist[$url], "http") Then ContinueLoop
            Local $oIE = _IECreate($URLlist[$url], 0, 0)
            Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
            $iNumTables = @extended
            MsgBox(64, "Table Info", "There are " & $iNumTables & " tables on the page")
            $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
            $aTableData = _IETableWriteToArray($oTable)
            _ArrayDisplay($aTableData)
        Next
    Next
EndIf

 

Regards,
 

Link to comment
Share on other sites

I wrote in the excel portion to the script and it displays all 3 columns like it should but is there a way to determine whether data is already in a cell and to write to a empty cell?

#include <IE.au3>
#include <Array.au3>
#include <File.au3>
#include <Excel.au3>
Local $URLlist, $url, $file, $ListUrlFile = _FileListToArray(@ScriptDir, "*.txt")
If Not @error Then
    For $file = 1 To $ListUrlFile[0]
        $URLlist = FileReadToArray($ListUrlFile[$file])
        If @error Then ContinueLoop
        For $url = 0 To UBound($URLlist) - 1
            If Not StringInStr($URLlist[$url], "http") Then ContinueLoop
            Local $oIE = _IECreate($URLlist[$url], 0, 0)
            Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
            $iNumTables = @extended ;counts number of tables
            MsgBox(64, "Table Info", "There are " & $iNumTables & " tables on the page")
            $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
            $aTableData = _IETableWriteToArray($oTable)
            ;_ArrayDisplay($aTableData)

            Local $oExcel = _Excel_Open()
            Local $sWorkbook = @ScriptDir & "\Test.xlsx"
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Error handler", "Error finding the Excel application." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, Default, Default, True)
            If @error Then
                MsgBox($MB_SYSTEMMODAL, "Error handler", "Error opening workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
                _Excel_Close($oExcel)
                Exit
            EndIf
            _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aTableData, "A1:W3", False)
            If @error Then Exit MsgBox($MB_SYSTEMMODAL, "error handler", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            MsgBox($MB_SYSTEMMODAL, "", "Range successfully filled with a formula.")
            _Excel_BookSave($oWorkbook)

        Next
    Next
EndIf

 

Link to comment
Share on other sites

You can provide an html page sample data?

#include <IE.au3>
#include <Array.au3>
#include <File.au3>
#include <Excel.au3>

Local $URLlist, $url, $file, $ListUrlFile = _FileListToArray(@ScriptDir, "*.txt")
If Not @error Then
    For $file = 1 To $ListUrlFile[0]
        $URLlist = FileReadToArray($ListUrlFile[$file])
        If @error Then ContinueLoop
        For $url = 0 To UBound($URLlist) - 1
            If Not StringInStr($URLlist[$url], "http") Then ContinueLoop
            Local $oIE = _IECreate($URLlist[$url], 0, 0)
            Local $oTable = _IETableGetCollection($oIE) ; Get number of tables
            $iNumTables = @extended ;counts number of tables
            MsgBox(64, "Table Info", "There are " & $iNumTables & " tables on the page" & @CRLF & "URL_" & $url & ": " & $URLlist[$url], 1)
            If $iNumTables = 0 Then ContinueLoop
            $oTable = _IETableGetCollection($oIE, $iNumTables - 1) ; Get last table
            $aTableData = _IETableWriteToArray($oTable)
            ;_ArrayDisplay($aTableData)

            Local $sWorkbook = @ScriptDir & "\Test.xls"
            Local $oExcel = _Excel_Open()
            If @error Then Exit MsgBox($MB_TOPMOST, "Error handler", "Error finding the Excel application." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, Default, Default, True)
            If @error Then
                _Excel_Close($oExcel)
                MsgBox($MB_TOPMOST, "Error handler", "Error opening workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
                Exit
            EndIf
            _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aTableData, "A1:W3", False)
            If @error Then Exit MsgBox($MB_TOPMOST, "error handler", "Error writing to worksheet." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            MsgBox($MB_TOPMOST, "", "Range successfully filled with a formula.")
            _Excel_BookSave($oWorkbook)

        Next
    Next
EndIf

 

Regards,
 

Link to comment
Share on other sites

Is it possible to store all the data from the url links before it's shown in the  _ArrayDisplay? I would think showing all the data at once would be a smarter solution, but I'm unsure whether the data can be stored somewhere.

Edited by aa2zz6
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...