Existe uma maneira de gravar macros para fazer coisas que normalmente faria no Windows Explorer? Por exemplo. Abra um arquivo do Excel somente leitura? [fechadas]

0

Incontáveis vezes por dia, eu vou para o Windows Explorer, clico com o botão direito do mouse em um arquivo do Excel, Copiar como caminho e depois em Executar, digite Excel /r (colar), que abre meu arquivo do Excel como somente leitura. / p>

Existe uma maneira de gravar tudo isso (e tarefas de rotina semelhantes) em uma macro, para que eu possa abrir facilmente esses arquivos dessa maneira? Por exemplo. Shift-Enter abre o arquivo como um somente leitura do Excel, como no mecanismo acima?

Ligado vagamente a Como pode Abrir um arquivo como somente leitura no Windows Explorer?

    
por Eliyahu 28.01.2015 / 15:40

1 resposta

4

Autohotkey é definitivamente o caminho a percorrer aqui.

Desde que você esteja com o botão direito de Shift pressionado, por que não apenas Abrir como somente leitura?

edit:comomencionadoabaixo,nãofunciona(?!?).

Voltarparaminhasugestãooriginal.AutohotkeypodegravarvocêfazendoissocomomóduloScriptWriter,quevocêpodeajustar.Vocêprovavelmenteterminarácomalgocomo:

IfWinActive,ahk_classXLMAIN^B::;hotkeyisCTRL+BbutcanbechangedtoanythingExcelFileName:="C:\path\to\file.xlsx" ; this needs to be replaced with a variable Send, {LWINDOWN}r{LWINUP} ;opens Run WinWaitActive, Run, Send, excel{SPACE}/r{SPACE}ExcelFileName{Enter}

Se você me disser mais sobre como seus arquivos são armazenados (quaisquer convenções de nomenclatura? etc), posso ajudá-lo a encontrar o caminho para a tecla de atalho. Sem isso tudo o que eu posso fazer é um desagradável VBA - > AHK kludge de dentro do arquivo do Excel que você quer, como

Sub GetPath() Dim CompletePath As String CompletePath = ActiveWorkbook.FullName MsgBox CompletePath End Sub

que você poderia então despejar no script AHK como ExcelFileName .

edit 2: Eu acho que com o arquivo do Excel desejado destacado Send {Ctrl Down}c{Ctrl Up} irá copiar o arquivo caminho para a Área de Transferência, que você poderia então passar como ExcelFileName := %clipboard% .

Tente isso. Destaque seu arquivo e pressione CTRL + B.

^B:: ; hotkey is CTRL + B but can be changed to anything Send {Ctrl Down}c{Ctrl Up} ; copies path to Clipboard (unverified) ExcelFileName := %clipboard% ; plaintext Send, {LWINDOWN}r{LWINUP} ; opens Run WinWaitActive, Run, Send, excel{SPACE}/r{SPACE}ExcelFileName{Enter}

    
por 28.01.2015 / 15:52