You are here: PSPad forum > České diskuzní fórum > Re: Nedaří se mi nahrát makro
Posted by: Motylek | Date: 2021-01-05 15:47 | IP: IP Logged
Potřebuju makro, které mi pospojuje řádky. Zmáčknu tedy tlačítko nahrávání maker a na klávesnici píšu:
Ctrl A
ALt YPS (připadně myší vyberu Úpravy - Operace s řádky - Spojit řádky)
Ctrl A
Ctrl C
A stisknu tlačítko pro ukončení nahrávání.
Marko se uloží, ale nic nedělá. Když se na něj podívám, tak tam je:
-prázdný řádek-
-prázdný řádek-
ecCopy
-prázdný řádek-
Poraďte prosím. Mám chybu v postupu? Nebo je třeba změnit nějaké nastavení?
Posted by: pspad | Date: 2021-01-05 16:04 | IP: IP Logged
Makro zaznamenává pouze akce v editoru.
Nebude jednodussí přiřadit klávesovou zkratku k funkci spojit řádky? nastavení programu / Mapa kláves
Posted by: Motylek | Date: 2021-01-05 22:50 | IP: IP Logged
pspad:Makro zaznamenává pouze akce v editoru.
Nerozumím. Ctrl A není akce v editru a Ctrl C je akce v editoru? Jaká je definice "akce v editoru"?
Posted by: pspad | Date: 2021-01-06 04:15 | IP: IP Logged
Editorem jsem myslel okno s textem.
Pdani textu, posun kurzoru atd se zaznamenava, ale hledani, razeni radku, spojovani/rozdelovani radku uz ne.
Posted by: Motylek | Date: 2021-01-07 19:28 | IP: IP Logged
škoda. Díky za odpověď.
Posted by: vbr | Date: 2021-01-08 15:22 | IP: IP Logged
Zdravim,
pro automatizovane opakovane pouzivani urcitych funkci PSPad lze pouzit skriptovani - zahrnuje mnohem vice oblasti nez makra (ktera jsou omezena v podstate na prime psani znaku a posuny kurzoru).
Skripty se nedaji primo nahravat, pri psani ale hlavne v takto jednoduchych jde opakovat zakladni minimalni kod a doplnovat pozadovane funkce.
Soubor napovedy ke skriptovani - prehled prikazu a funkci - je v adresari PSPadu: ...\PSPad\Scripting.rtf
Uvedene prikazy: vybrat cely obsah aktualniho textu - vyvolat slouceni radku - vybrat cely text - zkopirovat do schranky
lze ve skriptu vyvolat napr. takto:
Quote://////////////////// ... PSPad\script\JScript\sample_script.js /////////////////////////////////////
var module_name = "SampleScript";
var module_ver = "1";function sample_fn(){
if (editorsCount()<1){return;}
var actEd = newEditor();
actEd.assignActiveEditor();runPSPadAction("aSelectAll");
runPSPadAction("aJoinLine");
runPSPadAction("aSelectAll");
actEd.command("ecCopy");
// dalsi kod ...}
function Init(){
addMenuItem("spoj řádky a zkopíruj do schránky", "", "sample_fn","Ctrl+Shift+F2");
}
Kod je treba ulozit jako soubor ve skriptovem adresari pspadu - v tomto pripade pro javascript napr.
... PSPad\script\JScript\sample_script.js
Pripadne je treba aktivovat
v nastaveni PSPadu: Integrace do systemu
[x] Podpora skriptovani WSH
V sekci menu menu Skripty se zobrazi polozky, pro dostupne skripty - jejich prikazy s nazvy a pripadne klavesovymi zkratkami (vyse je pouzita zkratka Ctrl+Shift+F2 - ty se v ramci kodu vyse vytvareji funkci Init() - vyvolava se pri spusteni PSPadu nebo pri znovunacteni skriptu z menu.
Skripty umoznuji vedle samotneho vyvolani funkci PSPadu i samostatne programove zpracovani v danem jazyce, treba javascriptu - pocitani, data, manipulace s textem aj.
V ramci volani funkci PSPadu jsou dobre pouzitelne podporovane polozky (uvedene v souboru Scripting.rtf), vetsinou primo spustitelne, bez uzivatelskych dialogu, tj. momentalne napr. nejde skriptem vyplnit jednotliva policka dialogu hledani/nahrazovani a pak nahrazeni provest (neco takoveho by ale melo dost komplikovane a omezene pouziti; prave hledani/nahrazovani lze v pripade potreby provadet primo v ramci skriptu, pokud je treba).
Zdravim,
vbr
Posted by: Motylek | Date: 2021-01-08 21:34 | IP: IP Logged
Ahá. Já jsem se na PSPad díval z pohledu (např.) Excelu. Tam, dá se říct, platí makro = skript. Usoudil jsem, že PSPad tuto funkčnost nemá. Díky za upozornění. A díky moc, že jsi mi požadovanou funkčnost rovnou napsal (javascript bohužel neumím).
Editor PSPad - freeware editor, © 2001 - 2024 Jan Fiala, Hosted by Webhosting TOJEONO.CZ, design by WebDesign PAY & SOFT, code Petr Dvořák, Privacy policy and GDPR