AHK export txt para pdf

0

No notepad ++, eu quero um caminho, usando o AHK, para exportá-lo rapidamente usando o pandoc de um texto para um pdf.

Estou na metade do código. Não funciona. O que eu quero fazer é

  1. Vá para Editar > Copiar para a área de transferência > Caminho do arquivo atual para a área de transferência
  2. Abra a linha de comando
  3. Escreva "pandoc -o ^ v Del3 espaço em pdf ^ v insira"

    ^!e::
    Send, {Alt Down}e{Alt Up}
    Sleep, 100
    Send, {Down 8} 
    Sleep, 300
    Send, {Enter 2}
    Run, cmd.exe
    Sleep, 500
    Send, pandoc -o
    Send, {Ctrl Down}v{Ctrl Up}
    

O que eu faço de errado? E como está o roteiro correto?

EDITAR:

Down 8 e Enter 2 coloca o caminho do arquivo do meu TXT para a área de transferência. O que eu quero escrever na linha de comando não é

pandoc -o "%Clipboard%"

mas

pandoc -o pathToFile.pdf pathToFile.txt

onde pathToFile.txt é o que eu tenho na área de transferência. (Então eu preciso colocar DEL3 PDF SPACE PASTE ENTER). Como posso conseguir isso?

    
por user1603548 21.09.2014 / 11:02

2 respostas

1

Tente executar o Pandoc diretamente do comando Executar, passando a área de transferência como o parâmetro

Run, pandoc -o "%Clipboard%"

Em relação à sua edição:

; Remove file-ending
fileNamePath := RegExReplace(Clipboard, "\..*$", "")

; Run command
Run, pandoc -o "%fileNamePath%.pdf" "%Clipboard%"
    
por 21.09.2014 / 11:16
1

Em relação à primeira parte do seu código, você também pode se beneficiar do uso do WinMenuSelectItem para obter melhor velocidade / confiabilidade na seleção do item de menu sem ter que enviar pressionamentos de teclas e aguardar a resposta do menu.

Isso funcionará para a maioria dos menus, como os do Notepad ++ (mas não para os aplicativos Microsoft Ribbon).

Incorporando trechos de código acima em um exemplo ...

^!e::
lastClip := clipboardAll ; save the clipboard contents so they don't get overwritten
clipboard := ""

WinMenuSelectItem, A,,Edit,Copy to Clipboard,Current Full File path to Clipboard     ; A = Active Window... make sure menu descriptions match exactly

clipWait, 1   ; wait for new clipboard contents max 1 second
if ErrorLevel
{
    MsgBox, The attempt to copy failed
    clipboard := lastClip
    return
}

; Remove file-ending
fileNamePath := RegExReplace(Clipboard, "\..*$", "")

; Run command
Run, pandoc -o "%fileNamePath%.pdf" "%Clipboard%"

clipboard := lastClip     ; restore clipboard to previous contents    

return

No código acima, 'A' significa janela ativa. Na verdade, não tentei testar esse código ... apenas certifique-se de que os nomes dos itens de menu correspondam exatamente ao que você gostaria de selecionar.

    
por 22.09.2015 / 06:39

Tags