Ativar botão em uma planilha do Excel

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ativar botão em uma planilha do Excel

Re: Ativar botão em uma planilha do Excel

Post by manbat42 » 21 Sep 2019, 19:01

Boa noite para todos.

Encontrei a solução para o meu problema

Xl := ComObjActive("Excel.Application")
Xl.Run(xlsfile "Sub_Name")

Obrigado especialmente ao Gio pelo espírito colaborativo.

Bem hajam!

Re:

Post by Guest » 09 Sep 2019, 13:53

Obrigado Gio. Vou testar.

Re:

Post by Gio » 09 Sep 2019, 08:05

Bom dia Manbat42.

Infelizmente estou impossibilitado de testar códigos Microsoft Excel no momento, pois meu computador é da empresa em que trabalho e recentemente trocamos para o LibreOffice.

Mas aqui vai uma dica: A ferramenta gravar macros do Excel pode ser usada para se ter uma ideia do código a ser escrito. Basta você clicar para gravar uma macro, executar a ação desejada (clicar no botão), parar a gravação e salvar a macro. Depois, você pode consultar a macro gravada e clicando em editar, visualizar o código VBA correspondente.

O código VBA não é exatamente igual ao código que você escreverá no AutoHotkey, mas pelo menos te ajuda em saber quais elementos você deverá usar (por exemplo, ele vai te mostrar se aquela ação foi feita acessando uma propriedade, ou chamando uma função ou qual o nome do objeto acionado).

Na internet, eu encontrei uma página que alega que você pode ativar o botão mudando o valor da propriedade Value dele para true. Pela simplicidade, recomendo testar.

CommandButton1.Value := True

No caso do botão que você criou, pode ser que o nome não seja CommandButton1, então se você testar e não funcionar, vale a pena usar aquela dica do gravador de macros para encontrar o nome correto. Também não deve esquecer que no AutoHotkey a cadeia inteira deve ser escrita em todos os comandos (desde Xl).

Ativar botão em uma planilha do Excel

Post by manbat42 » 30 Aug 2019, 11:15

As minhas saudações para todos.
Estou a tentar desenvolver um pequeno script que pretende, o seguinte:
Depois de ter clicado num CommandButton (ActiveX) que coloquei numa folha de Excel, é despoletada uma Macro que verifica dados existentes numa determinada célula da folha de Excel e, se o conteúdo da célula o permitir, chama um executável feito em AutoHotKey.
Este executável desenvolve algumas operações na folha de Excel e, antes de terminar a execução, era minha intenção clicar, automaticamente, no CommandButton para executar, novamente, a macro.
O meu problema é que não sei como identificar o CommandButton nem que comando(s) usar para clicar nele a partir do script.
Alguém pode ajudar?

Code: Select all

#NoEnv
;#Warn
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance off
SetTitleMatchMode, 2

caminho := A_ScriptDir

Sleep, 200

ficheiro := "Experiencia - Excel"

WinWait, %ficheiro%, 
IfWinNotActive, %ficheiro%, , WinActivate, %ficheiro%, 
WinWaitActive, %ficheiro%, 
Xl := ComObjActive("Excel.Application")

StatusBarWait , Pronto

linha := Xl.Range("D1").Value
StringLeft, linha, linha, (StrLen(linha)-7)
celula := coluna . linha
coluna:= "C"
celula := coluna . linha
Xl.Range(celula).Value := mensagem
Sleep, 100
Xl.Range("D1").Value ++

ControlClick, ("FAZER"), %ficheiro% ;Doesn't work
SendMessage, 0x0111,CommandButton.("FAZER") ;Doesn't work
Xl.ActiveSheet.OLEObjects.CommandButton("FAZER").Click() ;Doesn't work - Error
Em anexo o ficheiro excel que uso para a experiência.
Toda a ajuda é apreciada.

Saúde e bem-estar para todos.
Attachments
Experiencia.ahk
(768 Bytes) Downloaded 82 times

[The extension xlsm has been deactivated and can no longer be displayed.]


Top