[Megoldva] Komplex feladat: makróval?
[Megoldva] Komplex feladat: makróval?
Sziasztok! Ide irányítottak egy viszonylag összetett problémával. (nekem legalábbis az) Csináltam egy nyilvántartást Excelben, amit folyamatosan bővítettünk, de a cégnél OpenOffice van. A függvényekkel és a feltételes formázásokkal nem volt gond, de a makrók már nem működnek. Mivel én nem értek a makrókhoz, a hibát sem értem, de hozzáértők azt mondták, ez már kompatibilitási hiba. Abban bízom, hogy ha eleve a működő OpenOffice táblázatban sikerülne megírni a programot, az működne. Persze ha megoldható makró nélkül, az lenne a legjobb.
A feladat a következő lenne: a C oszlopban a bevitt adatok mellé egy hiperhivatkozás is kerül, ami a szerveren egy adott mappára mutat. Ezek projekt mappák, így egy projekthez egy mappa tartozik (ideális esetben egy táblázatbeli sorhoz is egy mappa tartozik). Azt szeretnénk elkerülni, hogy egy mappát többször vegyünk fel - akár más néven - mivel többen dolgozunk a táblázatban. Tehát a C oszlopban megjelenő szöveg lehet bármi, de a hiperhivatkozások nem szerepelhetnek kétszer. Az eddigi megoldás az volt, hogy egy külön oszlopban makróval kiírattuk a mappa teljes elérési útvonalát és ha egy útvonal többször szerepelt, azt kiírta a táblázat. Ez a makró azonban nem működik stabilan Excelben, OO-ba pedig át sem tudtam tenni. (nyilván más parancsokkal működik a két program, de mint mondtam, nem értek a programozáshoz) Tud valaki OpenOffice-os megoldást a problémámra?
Előre is köszönöm és BUÉK!
A feladat a következő lenne: a C oszlopban a bevitt adatok mellé egy hiperhivatkozás is kerül, ami a szerveren egy adott mappára mutat. Ezek projekt mappák, így egy projekthez egy mappa tartozik (ideális esetben egy táblázatbeli sorhoz is egy mappa tartozik). Azt szeretnénk elkerülni, hogy egy mappát többször vegyünk fel - akár más néven - mivel többen dolgozunk a táblázatban. Tehát a C oszlopban megjelenő szöveg lehet bármi, de a hiperhivatkozások nem szerepelhetnek kétszer. Az eddigi megoldás az volt, hogy egy külön oszlopban makróval kiírattuk a mappa teljes elérési útvonalát és ha egy útvonal többször szerepelt, azt kiírta a táblázat. Ez a makró azonban nem működik stabilan Excelben, OO-ba pedig át sem tudtam tenni. (nyilván más parancsokkal működik a két program, de mint mondtam, nem értek a programozáshoz) Tud valaki OpenOffice-os megoldást a problémámra?
Előre is köszönöm és BUÉK!
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
Üdvözöllek Tom-ee!
Ez a kérdésed kapcsolódik a témaindító hozzászóláshoz?
Nekem nem úgy tűnik...(egy probléma-egy téma!) Ha ez valóban egy új probléma, akkor majd leválasztom, nyitok egy új topikot. Máskor te is így tegyél!
Egyébként én sajnos ennyi információból nem tudom kihámozni, hogy mi nem működött, és hogy mire is van igazából szükséged.
Egy mintafájlt feltölthetnél ide, hogy érthetőbb legyen...
Ez a kérdésed kapcsolódik a témaindító hozzászóláshoz?
Nekem nem úgy tűnik...(egy probléma-egy téma!) Ha ez valóban egy új probléma, akkor majd leválasztom, nyitok egy új topikot. Máskor te is így tegyél!
Egyébként én sajnos ennyi információból nem tudom kihámozni, hogy mi nem működött, és hogy mire is van igazából szükséged.
Egy mintafájlt feltölthetnél ide, hogy érthetőbb legyen...
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: Komplex feladat: makróval?
Üdv!
Új vagyok itt, még ismerkedem a szabályokkal. Nem akartam új témát nyitni, rendszerint ez máshol gondot szokott jelenteni, és ez a téma hasonlított az enyémhez. Annyi az eltérés, hogy nem táblázatot, csak sorokat kell összehasonlítani, pontosabban hiperhivatkozásokat. Persze maga a hivatkozás nem látható, mert a megjelenítendő szöveg akármi lehet, ezért szerintem függvénnyel nem megoldható, de okoztak már meglepetéseket nálam rutinosabb felhasználók. Ha új témát igényel a feladat, akkor elnézést. Előkerítem a nyers táblázatot is, ha az segít, bár nincs kitöltve benne semmi, így nem biztos, hogy előrébb lennénk vele...
Új vagyok itt, még ismerkedem a szabályokkal. Nem akartam új témát nyitni, rendszerint ez máshol gondot szokott jelenteni, és ez a téma hasonlított az enyémhez. Annyi az eltérés, hogy nem táblázatot, csak sorokat kell összehasonlítani, pontosabban hiperhivatkozásokat. Persze maga a hivatkozás nem látható, mert a megjelenítendő szöveg akármi lehet, ezért szerintem függvénnyel nem megoldható, de okoztak már meglepetéseket nálam rutinosabb felhasználók. Ha új témát igényel a feladat, akkor elnézést. Előkerítem a nyers táblázatot is, ha az segít, bár nincs kitöltve benne semmi, így nem biztos, hogy előrébb lennénk vele...
OpenOffice 4.1.1 a Windows 7-en
-
- Önkéntesek
- Hozzászólások: 47
- Csatlakozott: 2009. szeptember 15., kedd 18:09
- Kapcsolat:
Re: Komplex feladat: makróval?
Szerintem a makrót csak abban az esetben érdemes alkalmazni, ha más eszközzel nem, vagy csak körülményesen oldható meg.
Feltételes formázással szerintem ez a probléma megoldható.
A hivatkozásokat tartalmazó tartomány kijelölése, majd a feltételes formázás kiválasztása, ott a duplikált értékek megjelölése,
végül a formázás beállítása, hogyan jelölje a duplikált értékeket.
Ennyi.
Feltételes formázással szerintem ez a probléma megoldható.
A hivatkozásokat tartalmazó tartomány kijelölése, majd a feltételes formázás kiválasztása, ott a duplikált értékek megjelölése,
végül a formázás beállítása, hogyan jelölje a duplikált értékeket.
Ennyi.
SuSe11.4 + OO, XP SP3 + OO
Re: Komplex feladat: makróval?
Egyetértek abban, hogy a makró a végső megoldás. (főleg azért, mert nem értek hozzá, így ha lehet, kerülöm) A feltételes formázás azonban nem olyan egyszerű, nekem legalábbis nem sikerült megadnom a feltételt. A mellékelt képen a C9 és a C11 ugyanazt a linket tartalmazza, de más a megjelenített szöveg, így nem lehet rá azonosságot vizsgáló feltételt adni. (legalábbis én nem tudom, hogyan lehetne)
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
Akkor "végső megoldásként" itt egy link, hasonló problémával:
http://user.services.openoffice.org/hu/ ... 085&p=5113
(ettől persze létezhet kevésbé végső megoldás is...)
http://user.services.openoffice.org/hu/ ... 085&p=5113
(ettől persze létezhet kevésbé végső megoldás is...)
Szerkesztett: Bocs nem láttam, hogy újra a régi témához írtál... Áthelyeztem ide az újabb hozzászólásokat is |
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: Komplex feladat: makróval?
Most látom, hogy új téma nyílt... Csodálkoztam is, hogy hova lettek a hozzászólások.
A végső megoldást köszönöm, belenéztem, de szükségem lenne még egy kis segítségre: a hosszú zöld lenne az a kód, amit nekem létre kell hozni a táblázatban?
A végső megoldást köszönöm, belenéztem, de szükségem lenne még egy kis segítségre: a hosszú zöld lenne az a kód, amit nekem létre kell hozni a táblázatban?
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
Azt írtad, készítettél már makrókat, ezért nem részleteztem a dolgot...
Ez a kód tartalmazza azt a rutint, ami egy hiperlinkből kiemeli az URL-t. Így egy másik cellában lehetőséged lesz csak azt vizsgálni, a megjelenített név helyett.
Lehet, hogy ez a kód jóval többet tud, mint amire neked szükséged van - ilyen szempontból nem vizsgáltam meg, amikor megértettem a problémádat, és eszembe jutott, hogy nemrég volt hasonló probléma...
Ha zavar a kód hossza, akkor neked kell "megtisztítani" a számodra szükségtelen dolgoktól.
Ez a kód tartalmazza azt a rutint, ami egy hiperlinkből kiemeli az URL-t. Így egy másik cellában lehetőséged lesz csak azt vizsgálni, a megjelenített név helyett.
Lehet, hogy ez a kód jóval többet tud, mint amire neked szükséged van - ilyen szempontból nem vizsgáltam meg, amikor megértettem a problémádat, és eszembe jutott, hogy nemrég volt hasonló probléma...
Ha zavar a kód hossza, akkor neked kell "megtisztítani" a számodra szükségtelen dolgoktól.
Kód: Egész kijelölése
REM ***** BASIC *****
REM ################### RETURNING STRING #################################################
Function CELL_NOTE(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns annotation text
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_NOTE = v.Annotation.getText.getString
else
CELL_NOTE = v
endif
End Function
Function CELL_URL(vSheet,lRowIndex&,iColIndex%,optional n%)
'calls: getSheetCell
REM returns URL of Nth text-hyperlink from a cell, default N=1)
Dim v
If isMissing(n) then n= 1
If n < 1 then
CELL_URL = Null
exit function
endif
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
if v.Textfields.Count >= n then
CELL_URL = v.getTextfields.getByIndex(n -1).URL
else
Cell_URL = Null
endif
else
CELL_URL = v
endif
End Function
Function CELL_FORMULA(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM return unlocalized (English) formula
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_FORMULA = v.getFormula()
else
CELL_FORMULA = v
endif
End Function
Function CELL_STYLE(vSheet,lRowIndex&,iColIndex%,optional bLocalized)
'calls: getSheetCell
REM return name of cell-style, optionally localized
Dim v,s$,bLocal as Boolean
if not isMissing(bLocalized) then bLocal=cBool(bLocalized)
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
if bLocal then
s = thisComponent.StyleFamilies("CellStyles").getByName(v.CellStyle).DisplayName
else
s = v.CellStyle
endif
CELL_STYLE = s
else
CELL_STYLE = v
endif
End Function
Function CELL_LINE(vSheet,lRowIndex&,iColIndex%,optional n)
'calls: getSheetCell
REM Split by line breaks, missing or zero line number returns whole string.
REM =CELL_LINE(SHEET(),1,1,2) -> second line of A1 in this sheet
Dim v,s$,a(),i%
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
s = v.getString
if not isMissing(n) then i = cInt(n)
if i > 0 then
a() = Split(s,chr(10))
If (i <= uBound(a())+1)then
CELL_LINE = a(i -1)
else
CELL_LINE = NULL
endif
else
CELL_LINE = s
endif
else
CELL_LINE = v
endif
end Function
REM ################### RETURNING NUMBER #################################################
Function CELL_ISHORIZONTALPAGEBREAK(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_ISHORIZONTALPAGEBREAK = Abs(cINT(v.Rows.getByIndex(0).IsStartOfNewPage))
else
CELL_ISHORIZONTALPAGEBREAK = v
endif
End Function
Function CELL_ISVERTICALPAGEBREAK(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_ISVERTICALPAGEBREAK = Abs(cINT(v.Columns.getByIndex(0).IsStartOfNewPage))
else
CELL_ISVERTICALPAGEBREAK = v
endif
End Function
Function CELL_CHARCOLOR(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns color code as number
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_CHARCOLOR = v.CharColor
else
CELL_CHARCOLOR = v
endif
End Function
Function CELL_BACKCOLOR(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns color code as number
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_BACKCOLOR = v.CellBackColor
else
CELL_BACKCOLOR = v
endif
End Function
Function CELL_VISIBLE(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns visibility state as number 0|1
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_VISIBLE = Abs(v.Rows.isVisible)
else
CELL_VISIBLE = v
endif
End Function
Function CELL_LOCKED(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns locked state as number 0|1
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_LOCKED = Abs(v.CellProtection.isLocked)
else
CELL_LOCKED = v
endif
End Function
Function CELL_NumberFormat(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM returns the number format index
Dim v
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
CELL_NumberFormat = v.NumberFormat
else
CELL_NumberFormat = v
endif
End Function
Function CELL_NumberFormatType(vSheet,lRowIndex&,iColIndex%)
'calls: getSheetCell
REM return a numeric com.sun.star.util.NumberFormat which describes a format category
Dim v,lNF&
v = getSheetCell(vSheet,lRowIndex&,iColIndex%)
if vartype(v) = 9 then
lNF = v.NumberFormat
CELL_NumberFormatType = ThisComponent.getNumberFormats.getByKey(lNF).Type
else
CELL_NumberFormatType = v
endif
End Function
'################### HELPERS FOR ABOVE CELL FUNCTIONS #########################################
Function getSheet(byVal vSheet)
REM Helper for sheet functions. Get cell from sheet's name or position; cell's row-position; cell's col-position
on error goto exitErr
select case varType(vSheet)
case is = 8
if thisComponent.sheets.hasbyName(vSheet) then
getSheet = thisComponent.sheets.getByName(vSheet)
else
getSheet = NULL
endif
case 2 to 5
vSheet = cInt(vSheet)
'Wow! Calc has sheets with no name at index < 0,
' so NOT isNull(oSheet), if vSheet <= lbound(sheets) = CRASH!
'http://www.openoffice.org/issues/show_bug.cgi?id=58796
if(vSheet <= thisComponent.getSheets.getCount)AND(vSheet > 0) then
getSheet = thisComponent.sheets.getByIndex(vSheet -1)
else
getSheet = NULL
endif
end select
exit function
exitErr:
getSheet = NULL
End Function
Function getSheetCell(byVal vSheet,byVal lRowIndex&,byVal iColIndex%)
dim oSheet
' print vartype(vsheet)
oSheet = getSheet(vSheet)
if varType(oSheet) <>9 then
getSheetCell = NULL
elseif (lRowIndex > oSheet.rows.count)OR(lRowIndex < 1) then
getSheetCell = NULL
elseif (iColIndex > oSheet.columns.count)OR(iColIndex < 1) then
getSheetCell = NULL
else
getSheetCell = oSheet.getCellByPosition(iColIndex -1,lRowIndex -1)
endif
End Function
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: Komplex feladat: makróval?
Hát az túlzás, hogy készítettem, inkább úgy fogalmaznék, hogy hoztam már létre. (persze mindent mások írtak, programozni sajnos nem tudok, sosem tanultam, pedig érdekel) A hossza nem zavar, ha tudja azt, ami nekem kell, a többi elfér, csak elbizonytalanodtam, ahogy ránéztem. Megkeresem a fájlt és ki is próbálom.
Bemásoltam a programokat a táblázatba. Ha jól veszem ki, kb. 15 makrót tartalmaz ez a csinos lista, van benne minden. Gondolom nekem a CELL_URL nevű kell, amit függvényként is meg lehet hívni a GetSheetCell segítségével; csak nem tudom pontosan hogyan. (ezt is csak az Exceles megoldásból gondolom, ott is volt egy olyan változat, ahol a makró egy függvényt hozott létre, azt beírtam abba az oszlopba, ahova akartam, és ott jelent meg az URL)
Valami miatt nem fut le, csak nem tudom, mit kellene még megadni neki, mivel a beépített listában nem jelenik meg az új függvény. Tud valaki segíteni, hogy pontosan hogyan is működik ez a makró? (az is lehet, hogy a munkafüzet neve nem stimmel, bár átírtam, de így sem jó)
Bemásoltam a programokat a táblázatba. Ha jól veszem ki, kb. 15 makrót tartalmaz ez a csinos lista, van benne minden. Gondolom nekem a CELL_URL nevű kell, amit függvényként is meg lehet hívni a GetSheetCell segítségével; csak nem tudom pontosan hogyan. (ezt is csak az Exceles megoldásból gondolom, ott is volt egy olyan változat, ahol a makró egy függvényt hozott létre, azt beírtam abba az oszlopba, ahova akartam, és ott jelent meg az URL)
Valami miatt nem fut le, csak nem tudom, mit kellene még megadni neki, mivel a beépített listában nem jelenik meg az új függvény. Tud valaki segíteni, hogy pontosan hogyan is működik ez a makró? (az is lehet, hogy a munkafüzet neve nem stimmel, bár átírtam, de így sem jó)
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
A fentebb belinkelt másik témában ott egy letölthető példafájl a működő makróval. (A téma indítójának a feltöltött példafájlja, általam kiegészítve a makróval)
Ott azt is láthatod, hogyan kell alkalmaznod.
...töltsd fel ide a te fájlodat, hogy láthassuk: te hogyan próbáltad alkalmazni...
Ott azt is láthatod, hogyan kell alkalmaznod.
...töltsd fel ide a te fájlodat, hogy láthassuk: te hogyan próbáltad alkalmazni...
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: Komplex feladat: makróval?
Köszi a segítséget, a mintafájl nyomán már én is működésre bírtam. Természetesen én voltam a balek, nem volt jó a függvény alkalmazási módja. (ezt sejtettem is, csak nem tudtam, hogy lenne jó)
Még két kérdésem van: most úgy működik, hogy először a C oszlop adott sorában megcsinálom a hiperhivatkozást, aztán az AA oszlop megfelelő sorába a függvényt. (ott akarom vizsgálni, mert ott már nem szól bele az eredeti táblázatba) Meg lehet fordítani a folyamatot? Tehát megcsinálnám a függvényt az AA oszlopban a táblázat aljáig, és ha a C oszlopba bekerül egy új link, azt automatikusan írja az AA oszlop megfelelő sorába? (ezzel teljesen automatikus lenne a vizsgálat, nem kellene belenyúlni senkinek)
A másik dolog az lenne, hogy ha felvettünk egy linket és az már szerepel egyszer a táblázatban, akkor az adott sor törlésre kerül. A kiíratott linket is meg kellene szűntetni, ha a C oszlopban az adott sor újra üressé válik. (de nem az AA oszlopban lévő függvény törlésével!) Ezek megoldható dolgok?
Mellékelem a táblázatot. (fájl elérési út helyett internetes címeket tettem bele, hogy működjön is)
Még két kérdésem van: most úgy működik, hogy először a C oszlop adott sorában megcsinálom a hiperhivatkozást, aztán az AA oszlop megfelelő sorába a függvényt. (ott akarom vizsgálni, mert ott már nem szól bele az eredeti táblázatba) Meg lehet fordítani a folyamatot? Tehát megcsinálnám a függvényt az AA oszlopban a táblázat aljáig, és ha a C oszlopba bekerül egy új link, azt automatikusan írja az AA oszlop megfelelő sorába? (ezzel teljesen automatikus lenne a vizsgálat, nem kellene belenyúlni senkinek)
A másik dolog az lenne, hogy ha felvettünk egy linket és az már szerepel egyszer a táblázatban, akkor az adott sor törlésre kerül. A kiíratott linket is meg kellene szűntetni, ha a C oszlopban az adott sor újra üressé válik. (de nem az AA oszlopban lévő függvény törlésével!) Ezek megoldható dolgok?
Mellékelem a táblázatot. (fájl elérési út helyett internetes címeket tettem bele, hogy működjön is)
- Csatolmányok
-
- Rendeles_nyilvantartas_2012_v2.0.ods
- (105.55 KiB) Letöltve 156 alkalommal.
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
Ezek szerint te valamiféle adatbázisként szeretnéd használni a Calc táblázatot. Nem lenne célszerűbb inkább a Base-t használni...A másik dolog az lenne, hogy ha felvettünk egy linket és az már szerepel egyszer a táblázatban, akkor az adott sor törlésre kerül. A kiíratott linket is meg kellene szűntetni, ha a C oszlopban az adott sor újra üressé válik. (de nem az AA oszlopban lévő függvény törlésével!) Ezek megoldható dolgok?
...Vagy legalább a Calcban az adatbevitelt valamiféle űrlappal intézni, és még az adat bejegyzése előtt jelezni a felhasználónak, hogy létezik már az az URL, amit éppen be akar vinni...
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: Komplex feladat: makróval?
Megeshet. Bevallom, ilyet sosem csináltam még, eddig azt sem tudtam, mire jók. Egy adatbázis-kezelőt nulláról megtanulni most úgy érzem sok lenne, de az űrlapos dolognak utána járok, hátha megkönnyíti a dolgomat. Úgyis folyamatosan fejlesztem ezt a kis szösszenetet. (eddig ilyen sem volt ) Köszi a segítséget.
OpenOffice 4.1.1 a Windows 7-en
Re: Komplex feladat: makróval?
Az adatbázis dolgot egyelőre elvetettem. Nagyon jó lenne, sokat tud(hat) egy ilyen, de most nincs időm megtanulni a programozását és a kezelését. Beleolvasok, ha lesz időm, de egyelőre ennyi. A makró végül is működik, egyetlen hibája, hogy csak mentés-bezárás-újra megnyitás után frissül. Próbáltam a makrót valamilyen művelethez rendelni, de nem találtam megfelelőt (próbáltam pl. a dokumentum megnyitásához, de nem az igazi), ráadásul ha így futtatom, akkor hibaüzenetet ad. (ez fura, mivel ennek ellenére lefut, de nem akarom ezzel összezavarni a többi felhasználót) A "törlés" működik, ha törlöm a C oszlop megfelelő sorát, a következő indításnál frissül minden, ugyanez adatbevitelnél is működik. Egyelőre jó így. Ha valakinek van ötlete az "automatizálásra", szóljon.
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
Tegyél a makróba egy "fölösleges" paramétert, például egy bemeneti változót, amit egy olyan cellából fogsz "feladni" a függvénynek, amelyik biztosan változik akkor, amikor a felhasználó hozzányúl a táblázathoz (az adott sorhoz), Ennek hatására a függvény automatikusan "meghívódik" eredménye frissül.
De az is elég, ha meglévő paramétereket "dinamikusabban" adod meg.
Ez utóbbit például így oldhatod meg: olyan cellára hivatkozol a row() column() függvényekkel, aminek a tartalma biztosan változik. (Az eredeti példafájlban látható hívásmód a magának a függvényt tartalmazó cellának pozíciójához viszonyított, ezért ott a függvény beírása után már nem volt változás, így az eredményt tekintve sem volt frissülés)... De ez alapdolog a táblázatkezelő programnál: az a képlet frissül, amihez kapcsolódó (linkelt, hivatkozott) cellák tartalma változik. A függvény írója az URL-t nem egy "simán" hivatkozott cella tartalma alapján emeli ki (ez látható abból is, hogy nem egyetlen bemenő paramétere van a függvénynek). Ezt a fajta adatszerzést csak bonyolultabb eljárással sikerült megoldania, ez pedig nem jelent (valamiért) azonnali frissülést.
De az is elég, ha meglévő paramétereket "dinamikusabban" adod meg.
Ez utóbbit például így oldhatod meg: olyan cellára hivatkozol a row() column() függvényekkel, aminek a tartalma biztosan változik. (Az eredeti példafájlban látható hívásmód a magának a függvényt tartalmazó cellának pozíciójához viszonyított, ezért ott a függvény beírása után már nem volt változás, így az eredményt tekintve sem volt frissülés)... De ez alapdolog a táblázatkezelő programnál: az a képlet frissül, amihez kapcsolódó (linkelt, hivatkozott) cellák tartalma változik. A függvény írója az URL-t nem egy "simán" hivatkozott cella tartalma alapján emeli ki (ez látható abból is, hogy nem egyetlen bemenő paramétere van a függvénynek). Ezt a fajta adatszerzést csak bonyolultabb eljárással sikerült megoldania, ez pedig nem jelent (valamiért) azonnali frissülést.
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: Komplex feladat: makróval?
Ez biza zseniális, gyönyörűen muzsikál. Jelenleg mindent tud, amit kell neki, úgyhogy ezer köszönet mindenkinek! (persze folyamatosan fejlődik, mindig van benne valami újítás, valami módosítás; a képletek is azért ilyen szedett-vedett módon vannak benne, mert mindig csak hozzáírtam az új funkciót, lusta voltam összevonni )
OpenOffice 4.1.1 a Windows 7-en
- Zizi64
- Globális moderátorok
- Hozzászólások: 4034
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Komplex feladat: makróval?
A sört az e-mail címemre kérem!
A nyitó hozzászólásnál meg ilyenkor utólag oda szokta biggyeszteni a téma indítója, hogy : [Megoldva]
ezt most megtettem én helyetted...
A nyitó hozzászólásnál meg ilyenkor utólag oda szokta biggyeszteni a téma indítója, hogy : [Megoldva]
ezt most megtettem én helyetted...
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].