autohotkey

Status
Niet open voor verdere reacties.

Dick34

Gebruiker
Lid geworden
16 nov 2010
Berichten
77
Hallo,
ik wil mij tot op zekere hoogte bekwamen in AutoHotkey i.v.m. mijn werk. Ik heb een kleine script gemaakt (zie hieronder). De bedoeling is dat EXCEL wordt geopend met een nieuw leeg blad.
Het vreemde is dat het script de ene keer werkt, en de andere keer niet. Ik kan er geen lijn in ontdekken. Ik heb diverse variaties op het script uitgeprobeerd, maar niets heeft geholpen. Dus jullie hulp gevraagd!

;#a::
WinMinimizeAll
;Click, 23, 745, 0
run excel.exe,, max
WinActivate, Excel
Sleep, 400
Click, 533, 228, 0
Sleep, 400
Send, {Enter}
Sleep, 400
Return
 
Moet je niet het hele pad naar excel.exe opgeven?
Dus bijvoorbeeld:
Code:
run "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE",, max
 
Laatst bewerkt:
Het script start in alle gevallen EXCEL op. Maar de ene keer blijft hij hangen in het hoofdscherm van EXCEL, en de andere keer gaat hij door naar het scherm lege map. Dus soms klikt hij wel in het hoofdscherm, en soms niet.
 
Ik werk met excel en ook met autohotkey, maar ik heb het idee dat jouw gezochte oplossing, niet de beste oplossing is.
Aan de coordinaten kan ik niet zien wat je probeert aan te klikken, omdat ik de resolutie van je scherm niet ken.
Probeer je opstartscherm van excel te omzeilen?, zie https://www.google.com/url?sa=i&sou...aw1AE5qa8WCS6A8vosA10GOw&ust=1526063738100625 en https://support.office.com/en-us/article/turn-off-the-start-screen-1f2834b4-09d4-490d-9c04-5d9f1b25ff70

Is het dat niet
Kijk dan naar WinActivate en WinWaitActive, zodat autohotkey wacht totdat het scherm in beeld is.
Code:
^j::
MsgBox, Wow!
MsgBox, There are
Run, notepad.exe
WinActivate, Untitled - Notepad
WinWaitActive, Untitled - Notepad
Send, 7 lines{!}{Enter}
SendInput, inside the CTRL{+}J hotkey.
return
https://autohotkey.com/docs/Tutorial.htm
 
Laatst bewerkt:
@alphamax,
Dank voor je reactie. Ik wil met een AH script een applicatie openen en dan binnen die applicatie handelingen (muis, toetsenbord) "automatiseren". Omdat ik veel met EXCEL werk, wil ik thuis oefenen met dit programma. Maar dat moet ik wel eerst in EXCEL komen en niet blijven steken in het hoofdscherm.
Maar je hebt me wel geholpen! Ik vermoedde al dat het lag aan het wachten op het hoofdscherm, omdat het soms wel, en soms niet lukt. Ik dacht het op te lossen met SLEEP, maar dat lukte niet. Maar met WinWaitActive (kende ik niet) lukt het wel! Bedankt dus voor de tip!

Ik heb ook je script gerund. Notepad wordt geopend, maar daar blijft het bij. Wat de Send en SendInput commando's doen, zie ik niet. Zou je dit willen toelichten?
 
Welke versie van Office gebruik je?
Ik heb Office 2016 en is dit in een AHK script voldoende om Excel te starten met een leeg document:
Code:
run excel.exe,, max
 
Ik wil met een AH script een applicatie openen en dan binnen die applicatie handelingen (muis, toetsenbord) "automatiseren". Omdat ik veel met EXCEL werk
Ben je bekend met VBA (visual basic for applications) in excel? hiermee kan je bijna alles automatiseren vanuit excel zelf.
Op dit subforum, zie http://www.helpmij.nl/forum/forumdisplay.php/348-Visual-basic-for-Applications-(VBA) zijn veel helpers, meer helpers dan voor autohotkey.

Beschrijf eens wat je wil bereiken, misschien kunnen we je dan met onze ervaringen nog beter helpen.
 
De bedoeling zal zijn om met een druk op een toetscombinatie Excel te starten met een leeg document.
Dat is dus al voordat je VBA kan gebruiken.
Hier werkt het overigens prima, ik krijg het niet stuk.
 
@edmoor:
Ik heb Office 2016. Het AHK run commando staat ook in mijn script, maar dat blijft steken in het hoofdscherm van Excel (hetzelfde als ik Excel normaal opstart). Als jij Excel "normaal" opstart, krijg je dan ook een leeg scherm?

@alphamax: Ik weet hoegenaamd niets van VBA. Hetzelfde geldt voor AHK, maar dat wordt gebruikt op het werk, dus daar wil ik meer van af weten. Ik weet dat ik in EXCEL macro's kan maken, daar heb ik wel enige ervaring mee. Op het werk echter zijn er applicaties die niet met macro's werken. Ik gebruik EXCEL als oefening (omdat ik dat programma vrij goed ken), maar het zou ook WORD kunnen zijn of een andere applicatie.
Ik hoop dat dit duidelijk is.
 
Ok, duidelijk
Alvast een tip, veel applicaties hebben sneltoetsen, die werken in autohotkey betrouwbaarder dan coordinaten.
 
Met deze code loop autohotkey op de achtergrond
Door op CTRL+J te drukken, krijg je eerst, twee berichten
Daarna opent kladblok met de tekst "7 lines!
inside the CTRL+J hotkey."

Code:
^j::
MsgBox, Wow!
MsgBox, There are
Run, notepad.exe
WinActivate, Naamloos - Kladblok
WinWaitActive, Naamloos - Kladblok
Send, 7 lines{!}{Enter}
SendInput, inside the CTRL{+}J hotkey.
return

Let op "Naamloos - Kladblok" dit moet overeenkomen met de titlebar van het venster.

Dit is het eerste scherm als ik excel opstart, zie http://www.imagequiz.co.uk/quizzes/34359008 maar dan de nederlandse versie
 
Laatst bewerkt:
@alphamax, bedankt voor de toelichting, ik ben een stapje verder in AHK. Ik heb ontdekt dat je de WinTitle nauwkeurig moet opgeven bij WinActivate, dus als je de Nederlandse versie van Office hebt NIET Notepad, maar Kladblok. Voor de zekerheid gebruik ik het script Winspy.ahk en hanteer de volledige WinTitle. Verder moet ik op gepaste plaatsen het SLEEP commando gebruiken.
Ik ben nu zover dat ik automatisch kan inloggen op een aantal websites (gebruikersnaam en wachtwoord worden automatisch ingevuld). Je hebt gelijk als je stelt dat je beter gebruik kunt maken van de sneltoetsen van de applicaties. Ik kan nu met een een AHK script EXCEL starten en in dat script ook de EXCEL macro's starten. De websites hebben geen sneltoetsen jammer genoeg. Ik moet daar dus gebruik maken van Click en MouseMove (met zijn nadelen).

@edmoor: ik heb in EXCEL bij de opties het opstartscherm uitgeschakeld. EXCEL start bij mij nu ook direct op met een leeg scherm. Vind ik makkelijker.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan