Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 27. 5. 2020 13:38:17

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dobrý den,

píši návod. A při přidání funkce výstřižku (něco jako lepší print screen obrazovky, lze vytvořit výřez) ve Windows 10 (Win+SHIFT+S) se jak v OpenOffice tak v LibreOffice někdy stává, že se nevloží výstřižek, ale poslední předchozí kopírovaná schránka (ať už text či obrázek), která se použila v Office. Přičemž výstřižek kopírovaný funguje do PaintBrushe do WordPadu atd..
Na příčinu jsem nepřišel. Chyba se vyskytne až po několikátém použití a "sama" po několikátém pokusu zmizí a chvilku to zase funguje mám ten pocit, když mi nedojde trpělivost.
Je jedno jestli použiji CRTL+C a CTRL+V nebo to udělám pomocí myši přes nabídku "Kopírovat" a "Vložit".
Když si ten výstřižek uložím jako obrázek tak to funguje přes vložit obrázek v pořádku. Ale já těch obrázku pomocí toho výstřižku potřebuji hodně.
Nejdříve se mi to stávalo v OpenOffice, když jsem z toho začal šílet odinstaloval jsem ho a nainstaloval LibreOffice a po chvíli se mi to stávalo i s LibreOffice.

Stává se to taky někomu?

Editoval DRooPy (2. 6. 2020 08:30:13)

Offline

#2 27. 5. 2020 15:31:41

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Z mé zkušenosti to Ctrl+C/V různých objektů z jiných programů do Libre občas bohužel zablblo. Na bugzille bylo podivné CtrlCV několikrát hlášeno jako chyba, ale vždy to bylo opraveno.


Někdy pomohlo když nešlo správně Ctrl+V dát poté Ctrl+Z (vrátit zpět) a znovu Ctrl+V.

Offline

#3 27. 5. 2020 15:50:30

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Ahoj,

zkouším CTRL+Z poslední krok se samozřejmě vrátí ale CRTL+V stále blbne.

Offline

#4 27. 5. 2020 19:50:00

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Napadá mě ještě zkusit ten Ctrl+V pomocí makra a hned potom vynulovat schránku. Jako čistá by snad mohla být připravená pro další obrázek. Je na to procedura CtrlVaVynulujSchranku, ty ostatní funkce k tomu musí být také i když je nijak nevoláte.

Global syst_Schranka As String
Function systZpracovaniSchranka_getTransferData( aFlavor As com.sun.star.datatransfer.DataFlavor)
	If (aFlavor.MimeType="text/plain;charset=utf-16") Then
		systZpracovaniSchranka_getTransferData()=syst_Schranka
	End If
End Function

Function systZpracovaniSchranka_getTransferDataFlavors()
	Dim aFlavor As New com.sun.star.datatransfer.DataFlavor
	aFlavor.MimeType="text/plain;charset=utf-16"
	aFlavor.HumanPresentableName="Unicode-Text"
	systZpracovaniSchranka_getTransferDataFlavors()=array(aFlavor)
End Function

Function systZpracovaniSchranka_isDataFlavorSupported( aFlavor As com.sun.star.datatransfer.DataFlavor) As Boolean
	If aFlavor.MimeType="text/plain;charset=utf-16" Then
		systZpracovaniSchranka_isDataFlavorSupported=True
	Else
		systZpracovaniSchranka_isDataFlavorSupported=False
	End If
End Function

Sub CtrlVaVynulujSchranku 'udělá Ctrl+V a vynuluje schránku
	Dim oClip As Object, oTR As Object, document as object, dispatcher as object
	document=ThisComponent.CurrentController.Frame
	dispatcher=createUnoService("com.sun.star.frame.DispatchHelper")
	dispatcher.executeDispatch(document, ".uno:Paste", "", 0, array())
	oClip=createUNOService( "com.sun.star.datatransfer.clipboard.SystemClipboard")
	oTR=createUNOListener("systZpracovaniSchranka_", "com.sun.star.datatransfer.XTransferable")
	oClip.setContents(oTR,Null)
	syst_Schranka=""
	wait 50
End Sub

Mimochodem po kolika obrázcích to tak začne blbnout?

Offline

#5 28. 5. 2020 07:43:37

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dobry den,

dela to snad prakticky hned. Ted jsem to zkousel. Byl jsem v Libre office, zacal jsem psat dal jsem kopirovat text, v poradku, dal jsem kopirovat obrazek, ktery uz byl v textu, v poradku. Udelal jsem vystrizek pomoci Win+SHIFT+S a uz to neslo vlozilo to ten predchozi obrazek. Pricemz v piantbrushi to vlozilo ten spravny obrazek.
Nahraval jsem video ale jenom pres Win+G a tam je videt pouze okno libreoffice takze to neni k nicemu sad

Offline

#6 28. 5. 2020 08:35:01

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Jelikož vám to vkládá do pejntbraše tak jste tedy to makro nezkoušel? Když si dáte menu Nastavení/ Přizpůsobit -> Klávesnice, tak si na to makro můžete přiřadit klávesovou zkratku a místo Ctrl+V můžete mačkat třeba Ctrl+W pro vložení s výmazem schránky. Lze tam ještě zaoperovat s tím příkazem wait=50 a dát ho před předchozí řádek, případně mu tam dát třeba 100 (jsou to milisekundy kolik má počkat), nějaké to počkání se občas hodí, neb Win kolikrát něco dá do schránky ale někdy mu chvíli trvá než to oznámí i jiným procesům - byť tohle se mi stávalo spíše při nasazení programu Autohotkey.


Pokud s makry neumíte vůbec, tak návody jsou zde, rozpohybovat makro skutečně není těžké :-)
www.openoffice.cz/navody/makra-v-libreoffice-uvod
www.openoffice.cz/doplnky/nahravani-a-spousteni-maker


Mně to na verzi Libre 6.4.4.2 ani 7.0.alpha1 (Win10x64Prof) žádné chyby nedělá, ale možná dělám něco jinak než vy.


Na zachytávání videa obrazovky používám oCam https://ohsoft.net/eng/, zaznamená a označí i kliky myší.


Kdysi jsem kopíroval nějaká data mezi listy v Calcu a dělal to přes schránku, ale všelijak nepravidelně mi to padalo, tudíž s největší pravděpodobností to byla chyba Win a ne Libre, neboť kdyby to byla chyba Libre, tak by to nejspíš padalo vždy v nějaký stejný okamžik a ne spíše tak různě náhodně - někdy to padlo po sto kopírováních, někdy až po tisíci. Na nespolehlivosti s Win schránkou jsem narazil i ve fórech vícekrát - a i jiní uživatelé ze svých výsledků vyvozovali, že šlo o nějaký problém Win a nikoliv Libre.

Offline

#7 28. 5. 2020 12:39:50

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dobry den,

dekuji za odpovedi.

S makrama jsem nikdy nedelal kazdopadne zkusil jsem to, hází to tuhle hlášku při spuštění:

"BASIC - chyba v syntaxi
Global není povolen v proceduře"

Offline

#8 28. 5. 2020 18:24:27

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Jste ten kód vložil někam do procedury nebo funkce, tzn. někam do Sub ... End Sub či Function ... End Function. Tohle jsou již hotové funkce, nevkládají se do žádných dalších ale jen se to zkopíruje do modulu.

Ale neva, můžete to zkusit z následující ukázky, schránku normálně plňte ale místo Ctrl+V spouštějte příkaz z menu OVLÁDÁNÍ.

https://uloz.to/file/SFsgCj7Gx9zS/ctrl- … hranku-odt

Offline

#9 29. 5. 2020 08:05:21

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dekuju moc.

Ted to funguje tak jak ma. Otevrel jsem ten Vas dokument a aniz bych pouzival to ovládání přidane tak to jde. A vystrizky jsem delal pouze z plochy.
!!!
Ale pak jsem otevrel TIA portal (program od SIEMENSU) kde mam obrazovky, ktere potrebuji do navodu a šup zas to začlo blbnout. Takže problem bude mezi TIA portalem vystrizkem a officem.
Video zde :
https://uloz.to/file/spk3DGPWeUTE/recor … -40-64-mp4

Tak ja nevim, budu to muset delat po staru pres malovani...

Diky
za podporu

Offline

#10 29. 5. 2020 13:37:39

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Z videa je vidět že TIA do schránky vloží, ale Libre o novém obsahu schránky není nějak informováno. Moje makro dělá to co má, vloží ze schránky a vynuluje jí, ale to vynulování schránky nedonutí jiný program oznámit do Libre novou položku ve schránce.


Je možná ještě možnost to zautomatizovat přes Autohotkey https://www.autohotkey.com . S tím sice moc neumím, ale spuštění následujícího skriptu hlídá schránku a když do ní bude vložen netextový objekt (obrázek atd.), tak spustí Malování a do něj pošle sekvence kláves které mu vloží schránku a uloží to do souboru Bez názvu.png nejspíš na Plochu.
Je potřeba si vychytat pauzy v příkazech Sleep (jsou v milisekundách) pro svůj počítač. A taky se přitom nesmí nic mačkat ani hýbat myší, takže po označení obrazovky Win+Shift+S prostě chvíli nic nedělat dokud Malování nezmizí. Líp s tím Autohotkeyem neumím.


Nicméně co bych ještě uměl by bylo makro pro Libre které by načetlo ten soubor Bez názvu.png z Plochy a vložilo ho do dokumentu. Takže operace by teoreticky byla Win+Shift+S, chvíli počkat než uloží obrázek přes Malování, překlik na okno Libre a tam mít třeba klávesovou zkratku pro obrázkové makro. Toť teorie, jak se ten Autohotkey skript bude chovat mezi více spuštěnými programy a okny to však nyní netuším.


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

#Persistent
OnClipboardChange("ClipChanged")
return

ClipChanged(Type) {
	if Type = 2 ;jde o obrázek či jiný netextový objekt
	{
;	spustit Malování, pracovní adresář, maximalizované okno, proměnná pro Autohotkey
		Run, mspaint.exe, d:\ ,max , OutputVarPID

; počkat až se okno pořádně zaktivní a aktivovat ho, hodnoty ve Sleep přizpůsobit svému počítači (jsou to pauzy v milisekundách)
		WinWait ahk_pid %OutputVarPID%
		WinWaitNotActive ahk_pid %OutputVarPID%
		Sleep, 150
		WinActivate ahk_pid %OutputVarPID%
		Sleep, 150

; jestli nefachají ty předchozí WinWait aspol. tak je zastředníkovat a dát standartní čekačku na následujícím řádku
; hodnotu v milisekundách přizpůsobit svému počítači
;		Sleep, 1000

;	a teď už jen operace, kliknutí do okna, Ctrl+V atd.	
		Click 250,600
		Send ^{v}
		sleep 50
		Send ^+{x}
		sleep 50
		Send ^{s}
		sleep 50
		Send {Enter}
		Send {Tab} {Enter}
		Send !{F4}
	}
}

Offline

#11 30. 5. 2020 20:35:41

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,467

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Ten problém je složitější. Vymazat obsah schránky může být smrtící při běhu programu. Tady si musíme představit co se vlastně ve schránce udržuje a o jakou "paměť" jde.
     V rámci paměti jde obecně o operační paměť (OP), diskovou mezipaměť a paměť "stránkovací". Operační paměť udržuje obecně vše co si má pamatovat. Jsou tam ale zejména proměnné. Dále OP udžuje nejen přímo proměnné, ale například odkazy na objekty BLOB a podobně. Tohle souvisí dost úzce s operačním systémem.


     Existují rutiny, které mažou paměť. Jde vlastně o uvolnění kapacity nikoliv o vymazání. Kdysi jsem se s tím pral a celkem bez úspěchu - skončil jsem u přetečení a zaseknutí (pádu) systému. Zde to souvisí například s tím kolik kroků zpět si má systém pamatovat a jak velký objem je na objekt. To se dá nastavit.
     Nakonec jsem došel ke zkušenosti, že při dokončení operace vynuluji obsah. Například velký obsah array místo přepisu nuluji. Přeadstava Array() = 200 kB, proto nežli ji přepíšu udělám vynulování. Používám paralelní prázdnou array. naplněnou array a(z,y) například změnim a = b(0,0). V kódu to nedává moc smyslu pokud nevíte k čemu se to dobré.
     Nejhorší je vrstvení různých proměnných - nejspíš "string". Lze je přepsat za běhu, ale když jde o "život", tak proměnnou dříve vynuluji před tím nežli ji znovu naplním.
     V některých případech je nutné nastavit čas pro doběhnutí dříve spuštěné rutiny. Tady jde o to jestli je zapnuté OpenCL. OpenCL by mělo mít schopnost provádět paralelní operace. Když ne může se stát že nový příkaz přebije původní. To se dá jen empiricky dohledat - navíc je to asi u každého HW různé.


     Problém paměti souvisí s OS. Takže postupy pro Win nemusí fungovat pro Linux a opačně. K tomu se váže navíc výkon systému (rychlost MotherBoardu, procesoru a OP, respektive rychlost zápisu na disk....). Problémem pro AOO, LO je to, že musí fungovat na všech různých systémech. Proto dochází k nečekaným jevům. Problém uvolňování OP je dost složitá záležitost. Proto si myslím, že je lepší jít problému "naproti", nežli ho "lámat přes koleno".

Editoval neutr (30. 5. 2020 20:39:56)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#12 31. 5. 2020 11:12:21

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

DRooPy: udělal byste prosím ještě jeden pokus s tím mým makrem? Ve videu v čase 1:40-1:52 zkopírujete obrázek z Malování a do Libre ho vložíte tím mým makrem. Pak přepnete na Siemens a zkopírujete obrázek šipky a do Libre nejde vložit ale do Malování ano.
Zkusil byste až vložíte ten obrázek makrem do Libre (jako právě v čase 1:40-1:52) pak přepnout na Paintbrush a dát tam Ctrl+V (nebo pravou myší Vložit)? Chtěl bych vědět jestli to mé makro vymaže celou schránku nebo jen část schránky kterou systém nějak přidělil pro Libre.


On ten Siemens vypadá také jako starší a odborný program, takže tam ten přístup ke schránce může být i nějak specifický neboť to třeba do ní v rámci programu může kopírovat i objekty které v té době třeba Win schránka standartně neumožňovala a muselo to být třeba v Siemensu nějak speciálně naprogramováno. Ale nevím, tipuji další možnou variantu.


Mimochodem to je maďarština v tom Siemensu? Zaujalo mě slovo Függőleges, jistě víte co znamená :-), objasníte mi ho? Do češtiny (když to přečtu tak nějak po německy neb jiný způsob čtení těch "přehlasovaných" samohlásek neznám) to zní jaxi jako nějaké fígle, což nemůže být českému kutilovi přeci lhostejné :-). Jestli budete moc tak třeba mi i popsat jak se to správně vyslovuje :-)

Offline

#13 1. 6. 2020 07:38:49

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dobry den,

For kamlan :

tak staci jenom ten TIA portal spustit a uz to blbne. Siemens ma vsechno porad jak z minuleho stoleti. Tahle verze TIA portalu neni snad ani rok stara.

Dalsi video. To Vase makro funguje tak jak ma. Kdyz se pouzije schranka je prazdne a v nabidce neni ani "Vložit".

https://uloz.to/file/40D8l8bjd1R6/recor … 17-140-mp4

Jinak "Fígl" to není je to vertikální osa.

For neutr :
Děkuji za info. Je jasny ze s WIN to neni nikdy jednoduche. Tak snad to vyvojari Office zachyti a vyresi v pristich verzich.

Mejte se

Editoval DRooPy (1. 6. 2020 07:41:26)

Offline

#14 1. 6. 2020 10:52:51

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

DRooPy: ten Siemens se fakt chová divně, dle mně v něm skutečně budou nějaké nestandartní operace se schránkou, takže to nejspíš nebude chyba Libra a možná ani Win ale nejspíš záležitost Siemensu.


Ale možná byste fakt mohl zkusit ten Autohotkey, když si zvyknete na to že po Win+Shift+S nemáte nikam chvíli klikat myší + neleknete se že tam problikne Paintbrush, tak by vám to možná mohlo chodit dobře. Ukázka i s vkládáním v Libre přes makro je zde

https://uloz.to/file/udYcuV02Qa6E/ukaza … office-zip

Offline

#15 1. 6. 2020 12:05:44

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Nevýhoda té předchozí ukázky s Autohotkey skriptem je ta, že to spustí Pejntbraš pokaždé když se vloží do schránky obrázek z libovolného programu a nikoliv když se do ní nakopíruje jen ze Siemensu.

Když např. v Libre vložíte obrázek na špatné místo a uděláte Ctrl+X neb ho chcete vložit jinam, tak se též spustí skript.


Následující AHK skript tedy spouští obsluhu Pejnbraše na klávesovou zkratku Win+Shift+R

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


#+r::

;spustit Malování, pracovní adresář, maximalizované okno, proměnná pro Autohotkey
	Run, mspaint.exe, d:\ ,max , OutputVarPID

;chvíli počkat než fakt naběhne Malování, hodnota je v milisekundách, je třeba ji uzpůbit pro svůj počítač
	Sleep, 700

;a teď už jen operace, kliknutí do okna, Ctrl+V atd.	
	Click 250,600
	Send ^{v}
	sleep 50
	Send ^+{x}
	sleep 50
	Send ^{s}
	sleep 50
	Send {Enter}
	Send {Tab} {Enter}
	Send !{F4}

return

Offline

#16 1. 6. 2020 17:37:13

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Nakonec poslední co mě k použití Autohotkeye napadá je to, že když si vychytáte to časování pomocí příkazu Sleep (v ahk souboru) pro svůj počítač, tak se to dá udělat i tak, že by odpadla klávesová zkratka pro to uložit to z Autohotkeye do souboru (nyní v té mí druhé ukázce skriptu Win+Shift+R), neb po zkompilování AHK do EXE by se to EXE dalo spustit z Libre z vkládajícího makra.


Tudíž byste v Siemensu vložil obrázek do schránky a v Libre spustil makro (třeba i nadefinovanou zkratkou pro něj), které by se postaralo o spuštění EXE skriptu (jež by udělal tu operaci s Pejntbrašem) a následně by vložil obrázek (ukotvený a umístěný svisle dle nastavení v makru jak v ukázkovém videu).


Takže co se týká počtu klávesových zkratek tak by to bylo úplně stejné jako když byste v Libre dal jen Ctrl+V (což tedy nyní nefunguje), akorát by vám tam holt probliklo to okno s Pejntbrašem :-).

Offline

#17 2. 6. 2020 07:56:51

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Dobry den,

tak to funguje dobre! Predelal jsem si to Makro aby se to kotvilo k odstavci.
K dokonalosti mi chybi pouze aby to nabidka tech maker tam byla vzdy a ne jenom po otevreni toho textoveho souboru "vloz-obrazek-z-pevne...odt".
Makra jsem si prekopiroval pod Moje makra - Standard - Module1. Ale jak je dostanu do nabídky vedle "Okno", "Nápověda"?

Diky moc jinak ted se ten hotkey da vyuzivat i jako tvoric obrazku rovnou po pouziti vystrzku pro ulozeni primo do souboru.

Offline

#18 2. 6. 2020 08:04:06

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

To vytváření vlastních položek menu se dělá z Nástroje/ Přizpůsobit -> karta Nabídky. Myslím že by vám k úspěšnému zvládnutí mělo stačit kliknout v té sekci na tlačítko Nápověda. Nastavení klávesových zkratek je pak v kartě Klávesnice.


Nebo podrobně je to v článku https://www.openoffice.cz/navody/jak-pr … openoffice

Offline

#19 2. 6. 2020 08:26:28

DRooPy
Člen
Registrace: 27. 5. 2020
Příspěvků: 8

Re: Chyba CTRL+V a CTRL+C při vkládání výstřižku ve Writeru VYŘEŠENO

Bezva tak ted je to bozi!

Diky diky mooooc.

Offline

Zápatí