Jump to content
Sign in to follow this  
orichec

IECreate not working using Excelsheet values

Recommended Posts

orichec

Hello,

I'm trying to save source of a particular webpage using its URL. When i tried to save source code using following command it works fine

$IE = _IECreate( 'www.example.com', 0, 0 )

But my problem is different I've saved different URL in my excel sheet, that's why, I tried to use "$IE" command in this way;

$URL = _Excel_RangeCopyPaste($oWorkbook1.Activesheet, "C1")
$IE = _IECreate($URL, 0, 0 )

But It's unable to fetch source codes using URL placed in excel sheet 1 at cell No. "C1".

Please guide me what's wrong with my codes and how can I make it possible to use URL placed in excel sheet instead of copying URL every time in "_IECreate" command.

Thanks

#RequireAdmin
#include <Excel.au3>
#include <IE.au3>
#include <String.au3>
#include <Array.au3>
Local $oExcel = _Excel_Open()
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Software.csv", True)
$file = fileopen(@scriptdir & "\source01.txt", 10)
;------------Below Command is not working---------------------
$URL = _Excel_RangeCopyPaste($oWorkbook1.Activesheet, "C1"
;------------String $IE unable to fetch data from URL available in excel sheet at cell No. "C1"---------------------
$IE = _IECreate($URL, 0, 0 )
$source = _IEDocReadHTML($IE)
FileWrite($file, $source)

 

Edited by orichec

Share this post


Link to post
Share on other sites
MuffinMan

Try replacing your _ExcelRAngeCopyPaste line with this:

$URL = _Excel_RangeRead ($oWorkbook1, Default, "C1")

Make use of Msgbox to display your variables and it will help you troubleshoot any issues you are having.

  • Like 1

Share this post


Link to post
Share on other sites
AutoBert

Your script isn't runable:

>Running AU3Check (3.3.14.2)  from:C:\Program Files\AutoIt3  input:C:\Users\Bert\AutoIt3.My\Temp\aa.au3
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(9,59) : error: syntax error
$URL = _Excel_RangeCopyPaste($oWorkbook1.Activesheet, "C1"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(11,21) : warning: $URL: possibly used before declaration.
$IE = _IECreate($URL,
~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(11,29) : error: syntax error
$IE = _IECreate($URL, 0, 0 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(12,29) : warning: $IE: possibly used before declaration.
$source = _IEDocReadHTML($IE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(12,30) : error: syntax error
$source = _IEDocReadHTML($IE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(13,25) : warning: $source: possibly used before declaration.
FileWrite($file, $source)
~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(12,29) : error: $IE: undeclared global variable.
$source = _IEDocReadHTML($IE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Bert\AutoIt3.My\Temp\aa.au3"(13,25) : error: $source: undeclared global variable.
FileWrite($file, $source)
~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Bert\AutoIt3.My\Temp\aa.au3 - 5 error(s), 3 warning(s)
!>16:31:31 AU3Check ended. Press F4 to jump to next error.rc:2
+>16:31:31 AutoIt3Wrapper Finished.
>Exit code: 2    Time: 1.222

but why using excel when URL is in a CSV-File? This can be read by native AutoIt.

Share this post


Link to post
Share on other sites
orichec
2 hours ago, MuffinMan said:

Try replacing your _ExcelRAngeCopyPaste line with this:

$URL = _Excel_RangeRead ($oWorkbook1, Default, "C1")

Make use of Msgbox to display your variables and it will help you troubleshoot any issues you are having.

Thanks mate, it works for me....

Share this post


Link to post
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
Sign in to follow this  

  • Similar Content

    • ajblandford
      By ajblandford
      I have embeded an Excel file in my autoit Script and want to use it as part of my GUI. I want to be able to select a range of cells and add the cell data to an edit box. Then dump that data to an array. I am using GUICtrlCreateObj to embed the spreadsheet. I cannot find any way to let my program see what cells are active so I can add that data to the edit box. 
       
      #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <excel.au3> $FileName = 'C:\VLog\book1.xlsx' If Not FileExists($FileName) Then MsgBox(0, "ERROR", "File not found") Exit EndIf ;Basic GUI $oExcelDoc = ObjGet($FileName) ; Get an excel Object from an existing filename If IsObj($oExcelDoc) Then $mainGUI = GUICreate("Production Room 2", 1800, 1200, 10, 10, $WS_MINIMIZEBOX + $WS_SYSMENU + $WS_CLIPCHILDREN) $GUI_ActiveX = GUICtrlCreateObj($oExcelDoc, 10, 70, @DesktopWidth - 250, @DesktopHeight - 260) $data = GUICtrlCreateEdit("", @DesktopWidth - 225, 75, 100) $btn = GUICtrlCreateButton( "GO", @DesktopWidth - 100, 75, 75) Else MsgBox(0, "", "failed") EndIf ;------------------ ;Turns off all command bars in excel to prevent user from making changes For $Bar In $oExcelDoc.CommandBars If $Bar.Enabled = True Then $Bar.Enabled = False If $Bar.Visible = True Then $Bar.Visible = False Next $oExcelDoc.Application.DisplayFormulaBar = False $oExcelDoc.Application.CommandBars("Shadow Settings").Visible = False $oExcelDoc.Application.DisplayScrollBars = True $oExcelDoc.Application.DisplayStatusBar = False GUISetState()  
    • Skeletor
      By Skeletor
      Hi Guys,
      Can anyone point me in the right direction. I'm trying to accomplished conditional formatting with arrows, but the code I have is wrong... 
      .Range("=$A3:$A4000").FormatConditions.Add = (xlCellValue, xlGreater, "=$A:$A") .IconSet(xl3Arrows) ;ActiveWorkbook.iconsets I also tried it like this:
      .Range("=$A3:$A4000").FormatConditions _ .Add(xlCellValue, xlGreater, "=$A:$A") .IconSet(xl3Arrows) ;ActiveWorkbook.iconsets  
    • Skeletor
      By Skeletor
      Hi Guys,
      How would you use _Excel_FilterSet to filter the excel sheet from largest number to smallest number?
      _Excel_FilterSet($oWorkbook, "Sheet1", "A2:I2", 1, ">20", 1, "<40") ; OR _Excel_FilterSet($oWorkbook, "Sheet1", "A2:I2", 1, ">", 1, "<") Excel Sheet attached. Trying to filter on the last column "I2"
      Inventory.xlsx
    • Skeletor
      By Skeletor
      Hi All,
      Has anyone come across this before?
      Code below:
      $SheetList = _Excel_SheetList($oWorkbook) _FileWriteFromArray("C:\" & $SheetListOutput, $SheetList, 1) Result:
      ResultABC| ResultDEF| ResultGHI| ResultJKL| ResultMNO| It created these "|" vertical bars?
    • Skeletor
      By Skeletor
      Hi All,

      I would like to know how you would take a FileLineRead and insert it into an array which then inserts it into Excel?
      One thing to know is the files content is broken up, so I only use half of the content within $FileRead1.
      So its imperative that the $value1, $value2, etc variables be used. 
      Code below:
      $FileRead1 = FileReadLine("C:\temp\sample.txt",1) For $count = 1 To _FileCountLines($FileRead1) Step 1 $string = FileReadLine($FileRead1, $count) $input = StringSplit($string, ",", 1) $value1 = $input[1] $value2 = $input[2] $value3 = $input[3] $value4 = $input[4] _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $value1, "A1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $value2, "B1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $value3, "C1") _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $value4, "D1") Next  
×