Jump to content
Sign in to follow this  
rajatrg

Newbie Help Needed

Recommended Posts

rajatrg

Dear Sir,

 

I'm not a programming guy, I hired someone to make a autoit script and script was working absolutely fine

I was just testing something and I just opened the script, run it and forced to exit it, before completing the steps 

after that I'm getting error "Subscript used n non-accessible variable"

Can you please help to solve this issue as my developer is on vacation and I need to fix it urgently 

Script was running absolutely fine before 

Error is on Line 19 " c:/user/name/desktop/new auto it vs3.au3"

 

For$= 1 to $videofile(0)

For$= 1 to "videofiles" Error

 

Can you please suggest me a solution ?

This script is for editing the videos 

Edited by Melba23
Fixed formatting

Share this post


Link to post
Share on other sites
BrewManNH

Post the script.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
rajatrg

Hello Sir, I got the script fixed, it started running, but now script completely changed and not working fine 

Complete script and I asked few other peoples, they said autoIT is not stable and useful, is it like that ?

#include <File.au3>


$templateFile = @DesktopDir & "\\WWE.prproj"
$oldVideoFileName = ""
$videoFolder = "C:\\Users\\Rajat\\Videos\\All Videos\\"

$tempFile = FileOpen("old name.txt", 0)
If $tempFile = -1 Then
    MsgBox(16, "old name.txt is missing", "Can't proceed, because old name is missing")
EndIf

$oldVideoFileName = FileRead($tempFile)
FileClose($tempFile)

;MsgBox(0, "", $oldVideoFileName)

$videoFiles = _FileListToArray($videoFolder) ;, "*.mp4"

For $i = 1 To $videoFiles[0]
    $currentFile = $videoFiles[$i]
    ;ConsoleWrite($currentFile & @CRLF)

    $tempFile = FileOpen($templateFile, 0)
    If $tempFile = -1 Then
        MsgBox(16, "WWE.prproj is missing", "Can't proceed, because WWE.prproj is missing")
    EndIf

    $templateFileRead = FileRead($tempFile)
    FileClose($tempFile)

    $templateFileRead = StringReplace($templateFileRead, $oldVideoFileName, $currentFile)

    $tempFile = FileOpen($templateFile, 2)
    FileWrite($tempFile, $templateFileRead)
    FileClose($tempFile)

    #cs
    Run("notepad.exe " & $templateFile)

    WinWait("WWE - Notepad")

    If WinExists("WWE - Notepad") Then
        WinActivate("WWE - Notepad")
        Sleep(1000)
        Send("^h") ;Run replace tool by CTRL+H
        Send($oldVideoFileName)
        Send("{TAB}")
        Send($currentFile)
        Send("!a") ;Press ALT+A to replace all
        Sleep(5000)
        Send("{ESCAPE}")
        Sleep(500)
        Send("^s") ;Save file
        Sleep(2000)
        ;WinClose("WWE - Notepad")
    EndIf
    #ce

    Sleep(250)
    ShellExecute(@DesktopDir & "\\WWE.prproj")

    ;Resize image
    WinWaitActive("[CLASS:Premiere Pro]")
    Sleep(4000)

    #cs Changes something else
    Send("+1")
    Send("{DOWN 3}") ;down three times
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Sleep(100)
    Send("^c{ESCAPE}") ;copy to clipboard and close dialog
    Sleep(250)

    Send("{DOWN}") ;switch to first image
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    Send("{DOWN}") ;switch to second image
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)
    #ce

    MouseClick("left", 564, 564)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Sleep(100)
    Send("^c{ESCAPE}") ;copy to clipboard and close dialog
    Sleep(250)

    MouseClick("left", 540, 540)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    MouseClick("left", 590, 590)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    ;Send("+3")
    Send("^m") ;CTRL+M to export
    Sleep(500)
    Send("{TAB 7}")
    Sleep(250)
    Send("{SPACE}")
    Sleep(2500)
    Send($currentFile)
    Send("{ENTER}")
    Sleep(250)
    Send("{TAB 22}{SPACE}")
    WinWaitActive("[CLASS:Premiere Pro]")
    Send("^+w") ;CTRL+SHIFT+W to quit
    Sleep(250)
    Send("{TAB}{SPACE}") ; don't save the file

    Sleep(500)
    $oldVideoFileName = $currentFile
    ;WinClose("WWE - Notepad")
    Sleep(250)
Next

cleanup()

$tempFile = FileOpen("old name.txt", 2) ;overwrite
FileWrite($tempFile, $oldVideoFileName)
FileClose($tempFile)

Func cleanup()
    ;Delete the files from the All Videos folder
    FileDelete($videoFolder)
EndFunc

I guess their is problem due to files changed due to script stopped in between ?

I tried to replace with backup file too, but still I got the same error

Edited by Melba23
Merged and added code tags

Share this post


Link to post
Share on other sites
JohnOne
If Not @error Then
For $i = 1 To $videoFiles[0]
    $currentFile = $videoFiles[$i]
    ;ConsoleWrite($currentFile & @CRLF)

    $tempFile = FileOpen($templateFile, 0)
    If $tempFile = -1 Then
        MsgBox(16, "WWE.prproj is missing", "Can't proceed, because WWE.prproj is missing")
    EndIf

    $templateFileRead = FileRead($tempFile)
    FileClose($tempFile)

    $templateFileRead = StringReplace($templateFileRead, $oldVideoFileName, $currentFile)

    $tempFile = FileOpen($templateFile, 2)
    FileWrite($tempFile, $templateFileRead)
    FileClose($tempFile)

    #cs
    Run("notepad.exe " & $templateFile)

    WinWait("WWE - Notepad")

    If WinExists("WWE - Notepad") Then
        WinActivate("WWE - Notepad")
        Sleep(1000)
        Send("^h") ;Run replace tool by CTRL+H
        Send($oldVideoFileName)
        Send("{TAB}")
        Send($currentFile)
        Send("!a") ;Press ALT+A to replace all
        Sleep(5000)
        Send("{ESCAPE}")
        Sleep(500)
        Send("^s") ;Save file
        Sleep(2000)
        ;WinClose("WWE - Notepad")
    EndIf
    #ce

    Sleep(250)
    ShellExecute(@DesktopDir & "\\WWE.prproj")

    ;Resize image
    WinWaitActive("[CLASS:Premiere Pro]")
    Sleep(4000)

    #cs Changes something else
    Send("+1")
    Send("{DOWN 3}") ;down three times
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Sleep(100)
    Send("^c{ESCAPE}") ;copy to clipboard and close dialog
    Sleep(250)

    Send("{DOWN}") ;switch to first image
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    Send("{DOWN}") ;switch to second image
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)
    #ce

    MouseClick("left", 564, 564)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Sleep(100)
    Send("^c{ESCAPE}") ;copy to clipboard and close dialog
    Sleep(250)

    MouseClick("left", 540, 540)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    MouseClick("left", 590, 590)
    Send("^r") ;open speed/duration
    Sleep(100)
    Send("{TAB}")
    Send("^v{ENTER}") ;paste the length from clipboard
    Sleep(250)

    ;Send("+3")
    Send("^m") ;CTRL+M to export
    Sleep(500)
    Send("{TAB 7}")
    Sleep(250)
    Send("{SPACE}")
    Sleep(2500)
    Send($currentFile)
    Send("{ENTER}")
    Sleep(250)
    Send("{TAB 22}{SPACE}")
    WinWaitActive("[CLASS:Premiere Pro]")
    Send("^+w") ;CTRL+SHIFT+W to quit
    Sleep(250)
    Send("{TAB}{SPACE}") ; don't save the file

    Sleep(500)
    $oldVideoFileName = $currentFile
    ;WinClose("WWE - Notepad")
    Sleep(250)
Next
EndIf

 


AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Share this post


Link to post
Share on other sites
rajatrg

Hi sir, I am having backup of old script, which was working fine, Does I should work on Fixing the template on which script was running ? or should I hire someone to fix it ?

 

as I need it urgently fixed, I hired 1 guy yesterday, He worked for more than 20 hours and he is unable to do it, as he is also a newbie , Does somebody can help me via teamvewer or guiding Please it's urgent for me to fix it 

Edited by rajatrg

Share this post


Link to post
Share on other sites
philkryder

it's hard to know where it fails without more info.

Perhaps insert write console or msgbox to see how far you get.

the use of mouse clicks is very fragile as the screen positions may change.

use the info tool to verify that they are still correct

also there may be no problem with the code - it may be failing due to a change in the files in the folder that it is accessing.

 

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

    • gahhon
      By gahhon
      #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\..\Downloads\ALlogo.ico #AutoIt3Wrapper_Compile_Both=y #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Res_HiDpi=y #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/so /rm /pe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** I found out that a lot of sources provided by AutoIT members like what I am recently using is the Metro UDF.
      On top of it, it always written the Region of code and red color. Then it also assign some value into some variable.
      May I know, what are their use and what is the purpose of doing?
      If I remove them, will affect the application?
      Thanks
    • gahhon
      By gahhon
      I don't find any relevant topic via Google Search. Please kindly advise how to read and update data in Google SpreadSheet.
      Thanks a lot.
    • gahhon
      By gahhon
      While Not _Login() _Initial_Check() WEnd Func _Login() Local $FLAG_LOGIN = _Password_Check() If @error = 1 Then _Close_Application() ElseIf @error = 2 Then _Metro_MsgBox(0, "", $FLAG_LOGIN) Return False Else ; $FLAG_LOGIN return TRUE _Metro_MsgBox(0, "", "Access granted!") Return True EndIf EndFunc  I do have a question regarding the While Not Loop.
      According to the code I post above, While Not _Login() is similar to While _Login() = False right?
      Which mean when _Login() return False and it will execute the _Initial_Check() function, but somehow the logic is not right and I also don't understand why While Not _Login() loop is executed as expected.
      What I wanna achieve is when _Login() is not success, which mean return False then it continue loop the _Login() function until it return True
      When It return True only execute the _Initial_Check() function.
      Please kindly clarify. Thanks
    • gahhon
      By gahhon
      I would like to copy the entire folder with current directory @WorkingDir
      paste into either Program Files or Program Files (x86)
      Global Const $CUR_WA_FOLDER = @WorkingDir & "\Test Folder" Global Const $DIR_FOLDER = _ProgramFilesDir() _Initial_Check() Func _Initial_Check() If FileExists($DIR_FOLDER & "\Test Folder") = 0 Then Local $Decisions = _Metro_MsgBox(4, "", "Do you want to install Test Application?") If $Decisions = "Yes" Then DirCopy($CUR_WA_FOLDER, $DIR_FOLDER, 1) Else _Close_Application() EndIf EndIf EndFunc Func _ProgramFilesDir() Local $ProgramFilesDir Switch @OSArch Case "X32" $ProgramFilesDir = "Program Files" Case "X64" $ProgramFilesDir = "Program Files (x86)" EndSwitch Return @HomeDrive & "\" & $ProgramFilesDir EndFunc  
    • nooneclose
      By nooneclose
      Is it possible to use Autoit to find every Monday within a date range? An example would be I want to find every Monday between 1/9/19 through 4/9/19. Then Autoit would give me all the dates on which Monday lands between those two dates. 
      Sorry but I don't have any code so far. I was wondering if it was even possible. I read the help file and I didn't see a function that could do that. 
×