[MEGOLDVA] Egy oszlopban több szó cseréje, törlése egyszerre
[MEGOLDVA] Egy oszlopban több szó cseréje, törlése egyszerre
Sziasztok!
Egy olyan problémába ütköztem, hogy egy több ezer sorból álló táblázatának az adott oszlopában lévő különböző szavakat kellene törölnöm, illetve cserélnem.
A mennyiség miatt hosszadalmas lenne egyenként, főként, hogy ezt naponta szükséges lenne megismételnem.
Létezik erre valamilyen megoldás?
Egy olyan problémába ütköztem, hogy egy több ezer sorból álló táblázatának az adott oszlopában lévő különböző szavakat kellene törölnöm, illetve cserélnem.
A mennyiség miatt hosszadalmas lenne egyenként, főként, hogy ezt naponta szükséges lenne megismételnem.
Létezik erre valamilyen megoldás?
A hozzászólást 1 alkalommal szerkesztették, utoljára lászló 2012. március 12., hétfő 19:06-kor.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
1.: A keresés és csere funkció "Mindet cseréli" opciója nem megfelelő neked erre?Egy olyan problémába ütköztem, hogy egy több ezer sorból álló táblázatának az adott oszlopában lévő különböző szavakat kellene törölnöm, illetve cserélnem.
Vagy az oszlop minden cellája más szót tartalmaz, és azokat kellene lecserélned szintén egymástól különböző szavakra?
2.: Nem elegendő esetleg az oszlopba bemásolnod az új tartalmat (ha létezik a csere adattartomány valami fájlban)?
3.: Ha a lecserélni kívánt szó pozíciója kitüntetett a cellán belül, akkor a "Reguláris kifejezések" opció is a segítségedre lehet a keresés és a csere során: Külön lecserélheted a cellában lévő szöveg elejét, vagy végét, stb...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Szia zizi64,
Köszi, hogy írtál, de sajnos nem látom a megoldást.
A mindent cserél az nem jó, mert akkor is 120-szor kellene beírogatnom az adott kifejezéseket sorba egymás után, mivel éppen az a probléma, hogy egyszerre csak egy kifejezést írhatok be, ha jól tudom.
Bemásolni nem lehet , mert ahonnan törölnék, azok előtt maradnak változó szövegrészek még, amik kellenek.
A reguláris dolgot nem értem.
Lehet, hogy nem jól fogalmaztam.
Szóval:
Több ezer sort tartalmaz a táblázat oszlopa, aminek közel a felében olyan különböző kifejezések vannak, amiktől meg kellene tisztítani, / ezek száma hozzávetőleg 120 féle, de változó/ amit vagy törölnék egyszerre, vagy egyetlen másik kifejezésre cserélnék mindenhol, az oszlop megfelelő soraiban.
Így talán érthetőbb, hogy mit szeretnék.
Ha lenne megoldás, nem lenne baj, ha szó szerint le lenne írva.
Köszi, hogy írtál, de sajnos nem látom a megoldást.
A mindent cserél az nem jó, mert akkor is 120-szor kellene beírogatnom az adott kifejezéseket sorba egymás után, mivel éppen az a probléma, hogy egyszerre csak egy kifejezést írhatok be, ha jól tudom.
Bemásolni nem lehet , mert ahonnan törölnék, azok előtt maradnak változó szövegrészek még, amik kellenek.
A reguláris dolgot nem értem.
Lehet, hogy nem jól fogalmaztam.
Szóval:
Több ezer sort tartalmaz a táblázat oszlopa, aminek közel a felében olyan különböző kifejezések vannak, amiktől meg kellene tisztítani, / ezek száma hozzávetőleg 120 féle, de változó/ amit vagy törölnék egyszerre, vagy egyetlen másik kifejezésre cserélnék mindenhol, az oszlop megfelelő soraiban.
Így talán érthetőbb, hogy mit szeretnék.
Ha lenne megoldás, nem lenne baj, ha szó szerint le lenne írva.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
De a 120 lecserélendő kifejezés valamiféle kigyűjtött formában, listában, fájlban rendelkezésre áll, vagy azt mindenképpen kézzel kell minden egyes alkalommal beírnod, hogy miket kellene lecserélni?
És ez az esetleg létező keresési lista (fájltartalom) stabil lenne, vagy az is változhat?
Ha van lista, ami megadja a megkeresendő szavakat, akkor egy makrós megoldást talán nem túl nehéz megvalósítani:
A makrónak megadod a listát, megadod, hogy melyik oszlopban kell lecserélni a kifejezéseket, és a makró automatikusan végigmegy az oszlopon, és minden megtalált kifejezést lecserél (ha jól értem: egyetlen, azonos kifejezésre)
De ha dupla listád van (mit/mire kell cserélni párokkal), az is megoldható makróval, szerintem.
De ha nincs ilyen listád, akkor nincs más: kézzel kell elindítani a keresés-cserét 120-szor...
És ez az esetleg létező keresési lista (fájltartalom) stabil lenne, vagy az is változhat?
Ha van lista, ami megadja a megkeresendő szavakat, akkor egy makrós megoldást talán nem túl nehéz megvalósítani:
A makrónak megadod a listát, megadod, hogy melyik oszlopban kell lecserélni a kifejezéseket, és a makró automatikusan végigmegy az oszlopon, és minden megtalált kifejezést lecserél (ha jól értem: egyetlen, azonos kifejezésre)
De ha dupla listád van (mit/mire kell cserélni párokkal), az is megoldható makróval, szerintem.
De ha nincs ilyen listád, akkor nincs más: kézzel kell elindítani a keresés-cserét 120-szor...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Listám úgy lesz, / és éppen ezt készítem / hogy előbb kigyűjtöm kézzel, és át rakom egy másik táblázatba, /mert amit használok ahhoz nem lehet + oszlopot adni / és ezt kellene felhasználni.
Az sem lenne baj ha valamilyen külső alkalmazással lehetne megoldani, /ha maga a calc nem képes rá/ csak legyen valami használható megoldás.
Az sem lenne baj ha valamilyen külső alkalmazással lehetne megoldani, /ha maga a calc nem képes rá/ csak legyen valami használható megoldás.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
1.: Nem válaszoltál arra a kérdésre, hogy egyetlen szóval kell helyettesíteni a 120 féle szót:
"kék", "zöld", "sárga", "piros"
helyett:
"színes"
vagy páronként kell cserélni:
"kék", "zöld", "sárga", "piros"
helyett rendre:
"cián", "smaragd", "okker", "vörös"
2.:
Új munkalapot se lehet hozzáadni?
(Minél "távolabb" vannak egymástól a cserében résztvevő adatok, annál bonyolultabb lehet rá makrót írni...)
3.:
Én a Basic-et használom. Azt mondják, nem ez a leghatékonyabb, de ehhez értek valamennyire.
Mindkettőről (és a használható többi nyelvről is) rengeteg leírást lehet találni, csak keresni kell.
Csupán néhány link:
http://libreoffice.hu/2011/09/10/libreo ... o-a-weben/
http://www.openoffice.org/api/
http://en.wikipedia.org/wiki/StarOffice_Basic
ftp.psu.ac.th/pub/openoffice/basic-programming-guide.pdf
http://www.pitonyak.org/oo.php
http://planet.go-oo.org/
http://help.libreoffice.org/Basic/Basic_Help
"kék", "zöld", "sárga", "piros"
helyett:
"színes"
vagy páronként kell cserélni:
"kék", "zöld", "sárga", "piros"
helyett rendre:
"cián", "smaragd", "okker", "vörös"
2.:
NEM SZABAD, vagy LEHETETLEN hozzáadni oszlopokat?és át rakom egy másik táblázatba, /mert amit használok ahhoz nem lehet + oszlopot adni /
Új munkalapot se lehet hozzáadni?
(Minél "távolabb" vannak egymástól a cserében résztvevő adatok, annál bonyolultabb lehet rá makrót írni...)
3.:
A calc a programozhatóságán keresztül, a beépített makrónyelvek segítségével bizonyosan képes a feladat megvalósítására, ha te magad képes vagy jól megszervezni a paramétereket, a lépéseket és megírni a makrót hozzá. Ha tényleg sokszor lesz erre a funkcióra szükséged, akkor mindenképpen ajánlom, hogy tanulmányozd a Libre/OpenOffice API-t (az Open/LibreOffice programozási felületét), és valamelyik beépített programnyelvet./ha maga a calc nem képes rá/ csak legyen valami használható megoldás.
Én a Basic-et használom. Azt mondják, nem ez a leghatékonyabb, de ehhez értek valamennyire.
Mindkettőről (és a használható többi nyelvről is) rengeteg leírást lehet találni, csak keresni kell.
Csupán néhány link:
http://libreoffice.hu/2011/09/10/libreo ... o-a-weben/
http://www.openoffice.org/api/
http://en.wikipedia.org/wiki/StarOffice_Basic
ftp.psu.ac.th/pub/openoffice/basic-programming-guide.pdf
http://www.pitonyak.org/oo.php
http://planet.go-oo.org/
http://help.libreoffice.org/Basic/Basic_Help
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
OK.
A táblázathoz semmikép nem lehet több oszlopot hozzá adni, /nem szabad/
Elegendő, és teljes mértékben megfelelne az is, ha az összegyűjtött és valamilyen sorrendbe rakott kifejezések, a listája alapján, egyszerűen csak törölve lennének.
A táblázathoz semmikép nem lehet több oszlopot hozzá adni, /nem szabad/
Elegendő, és teljes mértékben megfelelne az is, ha az összegyűjtött és valamilyen sorrendbe rakott kifejezések, a listája alapján, egyszerűen csak törölve lennének.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Ha töltesz fel alak- és szerkezet hű mintát ide a két listából (amiben törölni kell a kifejezéseket és ami a törlendő kifejezéseket tartalmazza), akkor megpróbálok konkrét ötleteket adni a makró eljárások megvalósításhoz...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Valamit félre értesz úgy hiszem.
Nem létezik két lista. Írtam is, hogy az oszlop tartalmából másolom ki azokat a kifejezéseket amiket törölni kellene. Ebből készülne a lista a makróhoz.
A táblázat mintája nem tudom miben segítene? Teljesen egyszerű szövegrészeket tartalmaz, mint Pl:.
szigetelő szalag - 120db Piros
szigetelő szalag 250db fekete
müa-cső 3/4 50 db barna
müa-cső 1/2 100 db (fekete)
fali -a 47mm 300 db - barna -
Tehát ezekből törölném ki, a következőket. - 120db, Piros, 250db, fekete, 50 db, barna, 100 db, (fekete), - barna -
Szétbontani pedig azért kell, mert egyáltalán nem következetesen vannak megadva az adatok, ahogy az látható is. Van ahol kötőjellel, máshol zárójelben, stb..
Szóval a "lista" azok az adatok amit előbb ki kell gyűjtenem a látható módon, hogy az alapján ki lehessen törölni ugyan ezeket a kifejezéseket.
De ahogy írtam, több ezer sorból kellene eltávolítani az ilyen és hasonló adatokat, ami kézzel, egyenként, nem lenne egyszerű.
Egyébként átnéztem a leírásokat amiket a calc- hoz találtam, de egyik sem tesz említést olyan esetről, amikor egyszerre lehet minta alapján több kifejezést törölni, csak az "alap" dolgokról ír.
Nem létezik két lista. Írtam is, hogy az oszlop tartalmából másolom ki azokat a kifejezéseket amiket törölni kellene. Ebből készülne a lista a makróhoz.
A táblázat mintája nem tudom miben segítene? Teljesen egyszerű szövegrészeket tartalmaz, mint Pl:.
szigetelő szalag - 120db Piros
szigetelő szalag 250db fekete
müa-cső 3/4 50 db barna
müa-cső 1/2 100 db (fekete)
fali -a 47mm 300 db - barna -
Tehát ezekből törölném ki, a következőket. - 120db, Piros, 250db, fekete, 50 db, barna, 100 db, (fekete), - barna -
Szétbontani pedig azért kell, mert egyáltalán nem következetesen vannak megadva az adatok, ahogy az látható is. Van ahol kötőjellel, máshol zárójelben, stb..
Szóval a "lista" azok az adatok amit előbb ki kell gyűjtenem a látható módon, hogy az alapján ki lehessen törölni ugyan ezeket a kifejezéseket.
De ahogy írtam, több ezer sorból kellene eltávolítani az ilyen és hasonló adatokat, ami kézzel, egyenként, nem lenne egyszerű.
Egyébként átnéztem a leírásokat amiket a calc- hoz találtam, de egyik sem tesz említést olyan esetről, amikor egyszerre lehet minta alapján több kifejezést törölni, csak az "alap" dolgokról ír.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Én sem mondtam olyat, hogy létezne kész funkció. A kigyűjtött lista alapján a megírandó makró minden egyes listaelemet sorra vesz a kigyűjtött listából, és az eredeti listából törli az abban szereplő azonos alakú kifejezéseket.Egyébként átnéztem a leírásokat amiket a calc- hoz találtam, de egyik sem tesz említést olyan esetről, amikor egyszerre lehet minta alapján több kifejezést törölni, csak az "alap" dolgokról ír.
De úgy látom, a kigyűjtés az eredeti lista szedett-vedett állapota miatt nagyobb munka lesz számodra, mint majd a makró megírása lesz...
Pont az efféle "szabálytalanságok" megismerésére gondoltam, mint amit most jeleztél:A táblázat mintája nem tudom miben segítene?
a szóköz nélküli "100db" és a szóközös "100 db" megköveteli, hogy a vagy a "100 db" szövegre is, vagy a "100"-ra is és a "db"-re is rákeress, ha nem gond, hogy minden különálló "100" érték törlődni fog. Ha gond, akkor igen hosszú listád lesz a törlendő kifejezésekről, így elég lassú lesz a makró...
Aztán: Arra lettem volna kíváncsi, hogy ugye a kigyűjtött kifejezéseket egy oszlop külön-külön cellájába másolod ki? Mert ha nem, azzal a saját dolgodat nehezíted. Tehát a kigyűjtött listának is így kellene kinézni, hogy a makró majd egyesével elő tudja venni az értékeket:
120db
Piros
250db
fekete
50 db
barna
100 db
(fekete)
- barna -
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Az OK. hogy így kell kinéznie, már így is kezdtem kigyűjteni, és ha kész a lista, ideiglenesen beszúrom a táblázatba, hogy lehessen kezelni.
Ennyit magamtól, de nincs tovább. Éppen ezért kértem segítséget. Sejtelmem sincs hogyan kell makrót készíteni.
Ennyit magamtól, de nincs tovább. Éppen ezért kértem segítséget. Sejtelmem sincs hogyan kell makrót készíteni.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
És meddig jutottál a Makróírás tanulmányozásában?Sejtelmem sincs hogyan kell makrót készíteni.
Miután nem töltöttél fel mintafájlt, én összeállítottam helyetted egy primitív fájlt a szövegesen itt megadott adataiddal, és arra én megírtam helyetted az első verzióját a makróknak.

Ha makrót akarsz használni, MEG KELL TANULNOD makrót rögzíteni, de főleg makrót írni!!!
Senki nem fogja ezt helyetted megtanulni, helyetted megírni a munkádhoz szükséges makrókat...
A mellékelt fájlban két munkalap van.
A "Törlendő kifejezések listája" lap "A" oszlopa tartalmazza azokat a kigyűjtött kifejezéseket, amiket törölni kell a "Munkalap1" általad kiválasztott oszlopában.
A makrókban a fontosabb, átvinni kívánt paramétereket Globális változókban tároltam (Meg kell gondolni, hogy hány ilyen változót használsz...) Így elvileg a kigyűjtött listád lehet másik fájlban is, ha az általam alkalmazott indítógombok helyett Menüpontokhoz rendeled a makrókat, a makrókódot pedig előtte bemásolod a "Standard" könyvtárba. A globális változók a program bezárásáig képesek tárolni az adatokat.
Természetesen arra neked kell vigyázni a lista összeállításakor, hogy például, ha előbb törölteted a "barna" szót, akkor a "- barna -" kifejezést már nem találhatja meg a rutin, mert a közepéről a barna szó ekkorára már törlődött, és csak az marad helyette, hogy "- -"
Itt a kód, ami a mellékelt fájl makrótárolójában is megtalálható:
Kód: Egész kijelölése
REM ***** BASIC *****
Global Torlendok_listaja(65536) as string
Global Torlendo_Darabszam as long
Global Megjegyzett_nSCol as long
Global Megjegyzett_nSRow as long
Global Megjegyzett_nECol as long
Global Megjegyzett_nERow as long
'*************************************************************************
Sub Pickup_routine
SelectToLastCell
Lista_felvetele
End sub
'*************************************************************************
Sub Delete_Routine
Kijelolest_Megjegyez
For i = 1 to Torlendo_Darabszam
Ujra_kijelol
Torlendo_Szoveg = Torlendok_listaja(i)
'Az alábbi sor törölhető:
Print i, ". Törlendő: ", Torlendo_Szoveg
Szovegek_Torlese(Torlendo_Szoveg)
Next i
End Sub
'*************************************************************************
sub SelectToLastCell
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Sel"
args1(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Sel"
args2(0).Value = true
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args2())
rem ----------------------------------------------------------------------
'dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
end sub
'*************************************************************************
Sub Lista_felvetele
'
oDoc = ThisComponent
oView = oDoc.getCurrentController()
oSheet= oView.getActiveSheet()
oSel = oDoc.getCurrentSelection()
oAddr = oSel.getRangeAddress()
nSCol = oAddr.StartColumn
nSRow = oAddr.StartRow
nECol = oAddr.EndColumn
nERow = oAddr.EndRow
if (nECol-nSCol)>1 then
Print "Hiba: Túl sok oszlopot jelöltél ki!"
Exit sub
end if
Torlendo_Darabszam = nERow-nSRow
'Az alábbi sor törölhető:
print "Törlendő darabszám=", Torlendo_Darabszam
for i=nSRow to nERow
oCell = oSheet.getCellByPosition(0,i)
Torlendok_listaja(i-nSRow)= oCell.string
next 'i
End Sub
'*************************************************************************
sub Szovegek_Torlese(Torlendo_string)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 1
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 71680
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = Torlendo_string 'ezt a kifejezést keresi éppen
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = "" 'erre a kifejezésre cseréli le
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
end sub
'*************************************************************************
Sub Kijelolest_megjegyez
'
oDoc = ThisComponent
oView = oDoc.getCurrentController()
oSheet= oView.getActiveSheet()
oSel = oDoc.getCurrentSelection()
oAddr = oSel.getRangeAddress()
nSCol = oAddr.StartColumn
nSRow = oAddr.StartRow
nECol = oAddr.EndColumn
nERow = oAddr.EndRow
if (Megjegyzett_nECol-Megjegyzett_nSCol)>1 then
Print "Túl sok oszlopot jelöltél ki!"
Megjegyzett_nSCol = 0
Megjegyzett_nSRow = 0
Megjegyzett_nECol = 0
Megjegyzett_nERow = 1
Exit sub
Else
Megjegyzett_nSCol = oAddr.StartColumn
Megjegyzett_nSRow = oAddr.StartRow
Megjegyzett_nECol = oAddr.EndColumn
Megjegyzett_nERow = oAddr.EndRow
end if
End sub
'*************************************************************************
Sub Ujra_kijelol
Dim oDoc As Object
Dim oSheet As Object
Dim oView As Object
Dim oCells As Object
oDoc = ThisComponent
oView = oDoc.getCurrentController()
oSheet= oView.getActiveSheet()
'oCells = oSheet.getCellRangeByName("A2:C3")
oCells = oSheet.getCellRangeByPosition(Megjegyzett_nSCol,Megjegyzett_nSRow,Megjegyzett_nECol,Megjegyzett_nERow)
ThisComponent.CurrentController.select(oCells)
End Sub
'*************************************************************************
És itt van maga a fájl: A makró még nagyon "Béta" verzió! Csak a saját felelősségedre használd és csak egy fájl-másolaton!
Ha ennél nagyobb volumenű segítségre van szükséged, azt szívesen elvállalom bérmunkában. Akár a tanítást, akár a konkrét feladat megoldását.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: egy oszlopban, több szó cseréje, vagy törlése egyszerre
Igazán köszönöm a segítségedet.
Jogos a rám-olvasás a tanulással kapcsolatban, nem is fog el maradni. Mind ez idáig nem voltam még kénytelen Excel-szerű adatokkal foglalkozni azon túl, hogy
időnként megnyitottam, majd bezártam, esetleg néhány adatot cseréltem. Ehhez pedig nem volt szükség különösebb ismeretre.
Kérdezted, hogy meddig jutottam a makrók tanulmányozásában.
Nagyjából addig, mint akik most találkoznak ezzel először. Nekiálltam keresgélni, hogy egyáltalán miféle dolgokhoz használható.
A hogyan-hoz viszont, már tényleg szükséges tanulni.
Még egyszer köszi a segítséget.
Jogos a rám-olvasás a tanulással kapcsolatban, nem is fog el maradni. Mind ez idáig nem voltam még kénytelen Excel-szerű adatokkal foglalkozni azon túl, hogy
időnként megnyitottam, majd bezártam, esetleg néhány adatot cseréltem. Ehhez pedig nem volt szükség különösebb ismeretre.
Kérdezted, hogy meddig jutottam a makrók tanulmányozásában.
Nagyjából addig, mint akik most találkoznak ezzel először. Nekiálltam keresgélni, hogy egyáltalán miféle dolgokhoz használható.
A hogyan-hoz viszont, már tényleg szükséges tanulni.
Még egyszer köszi a segítséget.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Sajnos valamiért nem működik a törlés.
Munkalap1- beillesztem az A oszlopba amikből törölni kellene, a törlendő kifejezések listájához pedig a mintaadatokat. Kijelölöm az A oszlopot a törlendő oszlopban, és gomb nyom, de semmi változás.Valamit kihagytam?
Munkalap1- beillesztem az A oszlopba amikből törölni kellene, a törlendő kifejezések listájához pedig a mintaadatokat. Kijelölöm az A oszlopot a törlendő oszlopban, és gomb nyom, de semmi változás.Valamit kihagytam?
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Töltsd fel végre a fájlodat, hogy lássam, nem vagyok parapszichológus!
1.: Előbb a törlendők listáját kell az ottani gomb megnyomásával felvenni a globális változóba.
Meg lehet írni fix helyről vett adatokkal is (mereven beírt lap- és cellahivatkozásokkal) a makrót, akkor nem kellene két műveletet végrehajtani...
De gondoltam, univerzálisabb, ha bárhonnan felveheted a törlendők listáját, majd bárhol elvégezheted a törlést.
Olyasmi ez a koncepció, mint a Ctrl-C/Ctrl-v:
"Másolok a vágólapra ITT, beillesztem a vágólap tartalmát OTT"
ez a makróim esetén ezt jelenti:
"Felveszem a törlendő kifejezések listáját ITT, majd ez alapján törlöm a kifejezéseket OTT."
2.: Engedélyezve van egyáltalán a makrók futtatása a programodban?
1.: Előbb a törlendők listáját kell az ottani gomb megnyomásával felvenni a globális változóba.
Meg lehet írni fix helyről vett adatokkal is (mereven beírt lap- és cellahivatkozásokkal) a makrót, akkor nem kellene két műveletet végrehajtani...
De gondoltam, univerzálisabb, ha bárhonnan felveheted a törlendők listáját, majd bárhol elvégezheted a törlést.
Olyasmi ez a koncepció, mint a Ctrl-C/Ctrl-v:
"Másolok a vágólapra ITT, beillesztem a vágólap tartalmát OTT"
ez a makróim esetén ezt jelenti:
"Felveszem a törlendő kifejezések listáját ITT, majd ez alapján törlöm a kifejezéseket OTT."
2.: Engedélyezve van egyáltalán a makrók futtatása a programodban?
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
A fájlomnak csak egy kisebb részét töltöm fel, mert nem akarom teleszemetelni a fórumot, de ezen már ki lehet már próbálni.
Egyébként ha megnyitom a Törlő makró.ods -t, akkor az eszközök/makrók/makró futtatása.. gombra nyomva látható a Törlő makró.ods, de a futtatás gomb nem aktív.
Egyébként ha megnyitom a Törlő makró.ods -t, akkor az eszközök/makrók/makró futtatása.. gombra nyomva látható a Törlő makró.ods, de a futtatás gomb nem aktív.
- Csatolmányok
-
- Névtelen .ods
- (10.13 KiB) Letöltve 245 alkalommal.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
A te feltöltött fájlodban egyáltalán nincsenek makrók. A feltöltött képen pedig nem látható, hogy a "Saját makrók - Standard könyvtár"-ba vajon átmásoltad-e a makrókat...
Ha az én fájlomból nem másolod át az Open/LibreOffice PROGRAM "Saját makrók - Standard" könyvtárába a makrókat, akkor az én fájlomon kívül a makrók nem fognak működni. (Csak az én fájlomban lesz érvényes hatóköre,)
Ha nem másolod át a makrókat, akkor a te adataidat kell az én fájlomba beillesztened.
Ha átmásolod a PROGRAM "Saját makrók - Standard" könyvtárába a makrókat, akkor az általam létrehozott gombok helyett a makrókat hozzá kell rendelned egy új menüponthoz, vagy az eszköztárhoz, vagy egy gyorsbillentyűhöz... Ekkor minden megnyitott fájlra érvényes lesz a hatókörük.
Azt is leírtam (talán egyértelműen), hogy a kigyűjtött szavak, kifejezések listáját egy üres munkalap A oszlopába helyezd, ne pedig az eredeti lista mellé.
A makrómban a kigyűjtött szavak felvétele a "saját vágólapomra" (a globális változókba) úgy történik (történhetne másképp is, de ezt most így írtam meg), hogy a makró megállapítja, hogy a munkalapon mekkora cellatartomány van kitöltve, és arról a területről beolvassa az adatokat SZÖVEGES formában.
De tényleg nézzél már utána, hogy mik is ezek a makrók, hogy kell használni azokat, hogy kell menedzselni (ide-oda másolni, futtatni, hozzárendelni valamihez) azokat, hogy könnyen elérhetővé váljanak.
Egyetlen topik keretén belül a teljes makrótudományt nem tudom (és nem is akarom) leírni.
Az ajánlatom még mindig áll:
Vállalok oktatást, ha gondolod...
Ha az én fájlomból nem másolod át az Open/LibreOffice PROGRAM "Saját makrók - Standard" könyvtárába a makrókat, akkor az én fájlomon kívül a makrók nem fognak működni. (Csak az én fájlomban lesz érvényes hatóköre,)
Ha nem másolod át a makrókat, akkor a te adataidat kell az én fájlomba beillesztened.
Ha átmásolod a PROGRAM "Saját makrók - Standard" könyvtárába a makrókat, akkor az általam létrehozott gombok helyett a makrókat hozzá kell rendelned egy új menüponthoz, vagy az eszköztárhoz, vagy egy gyorsbillentyűhöz... Ekkor minden megnyitott fájlra érvényes lesz a hatókörük.
Azt is leírtam (talán egyértelműen), hogy a kigyűjtött szavak, kifejezések listáját egy üres munkalap A oszlopába helyezd, ne pedig az eredeti lista mellé.
A makrómban a kigyűjtött szavak felvétele a "saját vágólapomra" (a globális változókba) úgy történik (történhetne másképp is, de ezt most így írtam meg), hogy a makró megállapítja, hogy a munkalapon mekkora cellatartomány van kitöltve, és arról a területről beolvassa az adatokat SZÖVEGES formában.
De tényleg nézzél már utána, hogy mik is ezek a makrók, hogy kell használni azokat, hogy kell menedzselni (ide-oda másolni, futtatni, hozzárendelni valamihez) azokat, hogy könnyen elérhetővé váljanak.
Egyetlen topik keretén belül a teljes makrótudományt nem tudom (és nem is akarom) leírni.
Az ajánlatom még mindig áll:
Vállalok oktatást, ha gondolod...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Ja, és a
"{hosszú kötőjel} (fehér)" nem egyenlő a "{rövid kötőjel} (fehér)" szöveggel!
– (fehér)
- (fehér)
(itt alig látszik a különbség, de a táblázatban elég szemléletes)
Ja, és:
((De ilyen módon nem túl kényelmes makrót futtatni! Rendeld hozzá a Saját makrók - Standard könyvtárba átmásolt makrót valami eseményhez (menüpontra kattintás, gyorsbillentyű, stb...))
"{hosszú kötőjel} (fehér)" nem egyenlő a "{rövid kötőjel} (fehér)" szöveggel!
– (fehér)
- (fehér)
(itt alig látszik a különbség, de a táblázatban elég szemléletes)
Ja, és:
...mert itt még nem a makrókat látod, csak az azt tartalmazó fájl nevét... kattints beljebb!gombra nyomva látható a Törlő makró.ods, de a futtatás gomb nem aktív.
((De ilyen módon nem túl kényelmes makrót futtatni! Rendeld hozzá a Saját makrók - Standard könyvtárba átmásolt makrót valami eseményhez (menüpontra kattintás, gyorsbillentyű, stb...))
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Bocs, hogy eddig nem válaszoltam az újabb bejegyzésre, nem voltam gép közelben.
Végül is tökéletesen működik amit készítettél. A probléma az volt, hogy hiába próbáltam engedélyezni a makró futtatását levéve a biztonsági szintet, mégsem ment.
Aztán tovább keresgéltem, hogy mit kellene még beállítani, és találtam egy videót ami segített.
Felrakni nem sikerült, mert mp4, de itt az elérhetőssége, hátha segít másnak is.
http://www.youtube.com/watch?v=NYF7PFFl148
Köszi a segítséget.
Végül is tökéletesen működik amit készítettél. A probléma az volt, hogy hiába próbáltam engedélyezni a makró futtatását levéve a biztonsági szintet, mégsem ment.
Aztán tovább keresgéltem, hogy mit kellene még beállítani, és találtam egy videót ami segített.
Felrakni nem sikerült, mert mp4, de itt az elérhetőssége, hátha segít másnak is.
http://www.youtube.com/watch?v=NYF7PFFl148
Köszi a segítséget.
OpenOffice 3.3
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [MEG]egy oszlopban, több szó cseréje, vagy törlése egysz
Igen, ennyit kell beállítani ahhoz, hogy engedélyezve legyenek és működjenek a kívülről érkezett fájlokban lévő makrók. Örülök, hogy saját erőből utánanéztél, és köszönjük a linket!
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].