Új hozzászólás Aktív témák
-
luzer0901
csendes tag
Igazából az nem megy hogy nagyon nem tudom, hogy hogyan induljak el alépések megfogalmazásában
-
martonx
veterán
válasz luzer0901 #2301 üzenetére
pl. csikó léphet:
2 cellét horizontálisan, és 1 cellát vertikálisan. Vagy 2 cellát vertikálisan és 1 cellát horizontálisan.
Az excelnek munkalapoknak van onchange vagy valami ilyesmi eseménye. Ezzel megnézed, hogy honnan indult, hova jutott és megnézed, hogy ez szabályos-e. Ha nem szabályos, akkor kiadsz egy undo parancsot, ha szabályos volt, akkor nem csinálsz semmit.Én kérek elnézést!
-
luzer0901
csendes tag
Sziasztok még egy olyan kérdésem lenne, hogy végre eljutottam a sakkal egy jó darabig, de én betűkkel jelöltem a bábukat viszont azt szeretném, hogy a bábuk képét lehessen ott láttni, ezt, hogy tudom megoldani. A segítséget előre is köszi.
-
martonx
veterán
válasz luzer0901 #2307 üzenetére
Nézd, excelről beszélünk. Igaziból fingom sincs, hogy lehet-e egy cellába képet beszúrni. Ha lehet, akkor nyert ügyed van, ha nem lehet, akkor marad a szöveg. Én látatlanban arra tippelek, hogy nem lehet a cella tartalma kép, de lehet tévedek. Néha engem is meglep, hogy felhasználói szinten is mennyi mindent tud az excel.
Én kérek elnézést!
-
Syntax
csendes tag
válasz martonx #2308 üzenetére
Hali
Meg lehet oldani.
ActiveSheet.PasteSpecial Format:="gyalog (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
ActiveSheet.Shapes.Range(Array("gyalog")).Select
Selection.Cut
Range("K4").PasteAz első sor arra szolgál, hogy egy képet úgy lehet vele beszúrni, hogy azt később az excel tudja kezelni.
Manuálisan úgy néz ki, hogy a kiválasztott képet be kell szúrni az excel táblába de amikor beszúrod akkor az egér jobb gombját használva paste special mód kiválasztásával, és a "Picture (enhanced metafile)".Miután ez megvan akkor a képet át lehet nevezni, hogy később tudjad, hogy melyik figuráról van szó. Ezt a tábla bal felső sarkában tudod megtenni. (közvetlenül a gombsor és az oszlop címek közt)
Ha ez megvan akkor már csak az a dolgod, hogy simán csak másolgatod tovább a képet. Az az előbb leírt kód utolsó 3 sora.
Igyekeztem érthető lenni, ha nem voltam az szólj, és megpróbálom másképp.
Üdv
Repülőgépanyahajóhelikopter
-
Syntax
csendes tag
válasz martonx #2311 üzenetére
Szegény ember kézzel nőz...
Amúgy meg ha ez a vizsga feladat akkor ez a feladat.
A feladat ugyan nem tipikus excel feladat, de ha valaki erre rájön, és veszi a fáradtságot, hogy megcsinálja akkor azzal sokat nyer. Hiszen rájön, hogy mi minden lehet excel-ben csinálni. Illetve más specifikusabb feladathoz sokkal több magyarázat kell illetve esetleges forrásadatok amivel lehet dolgozni. Amíg a sakkot mindenki ismeri, így 1 mondatban ki lehet adni a feladatot. Igazi egyszerű szivatos feladatRepülőgépanyahajóhelikopter
-
luzer0901
csendes tag
Sziasztok köszi a segítséget, de akkor szerintem maradnak a betűk.
-
martonx
veterán
"Hiszen rájön, hogy mi minden lehet excel-ben csinálni." - esetünkben éppen a lényegre nem jön rá, miszerint az excel egy adatvizualizációs, adatbányász céleszköz. Nem pedig sakk program írásához kereteszköz. Persze láttam már lövöldözős játékot is excelben megvalósítva, az emberi butaság (és az excel tudásának határa) végtelen. Sőt írhatod a szakdolgozatod is excelben, attól az még akkor sem lesz szövegszerkesztő program.
Szvsz az excel oktatásnak éppen ezért az adatokról, adat lekérésről (különböző adatforrásokhoz programozottan kapcsolódás), adat megjelenítésről, formokról illetve ezek programozásáról kellene, hogy szóljon, nem pedig sakk, meg akasztófa játékok excelben programoztatásáról.
Dolgoztam olyan cégnél, ahol ki is volt mondva, hogy mindent excelben kell megvalósítani. A CRM rendszertől, a projektvezető toolokon át. Volt exceles pdf generátorunk, exceles vonalkód nyomtató porgramunk, és még ki tudja mi minden. Ami kerek volt azt kézben vittük, ami négyszögletes, azt meg gurítottuk. El is jöttem onnan 4 év után, és nagyon óvok mindenkit attól, hogy ugyanabba a hibába essen, mint anno nálunk annál a cégnél.
Nem véletlenül szajkózom itt a topikban, hogy az excelt arra használjuk, amire való, mert minden más esetben csak a fölösleges körök futása, és a rossz programozói gyakorlatok beidegződése fog történni.
Én kérek elnézést!
-
Syntax
csendes tag
válasz martonx #2314 üzenetére
Szegény ember kézzel nőz...
(Ha csak ez van akkor ezt kell szeretni, én is szeretnék repülővel járni, de sajnos pont nincs repülőm...)
Az oktatási rendszerünk hibáinak ez csak a csúcsa. "Akit érdekel a dolog az jobban utána néz", a lehetőséget megadja az iskola, jelige alatt futunk . A munkahelyek meg olyanok mint akármelyik profitorientált szervezet, mindent a lehető legolcsóbban akarnak megoldani, így érthető az excel mánia is.Repülőgépanyahajóhelikopter
-
martonx
veterán
Hehe, ez az a hozzáállás, amivel soha nem fogok tudni azonosulni. Le is léptem a cégtől, miután sorra leszavazták a jobbító ötleteimet.
A sors iróniája, hogy a lelépésemmel észbe kapott a vezetőség, és per pillanat nagyban képzik át a maradék pár programozójukat ASP.NET MVC-re.
Ez a tipikus halál primitív, káderi menedzsment hozzáállás, hogy az excel a legolcsóbb, az úgyis ott van mindenkinek a gépén. Valójában ez baromság. A böngésző az, ami ott van mindenkinek a gépén.
Az excel tökéletes, amikor pivotozni kell, meg OLAP kockákat forgatni, többféle adatforrásból összedolgozni az adatokat.
Minden másra merő pénzkidobás, kezdve a fejlesztők munkaidő ráfordításának többszörösével, folytatva az üzemeltetők bérével, amivel a gépeket karbantartják, office licenszeket vesznek, stb...Én kérek elnézést!
-
sztanozs
veterán
válasz martonx #2300 üzenetére
Igazából néhány éve ítam már egy sakk programot pont exccelben (hosszú volt a DRP teszt és el kellett foglalnom magam valamivel...) Átnéztem a cuccaim, de asszem már nincs meg.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
-
vilag
tag
Először is Boldog és sikerekben gazdag új évet mindenkinek!
Köszönöm a választ!
Ez már fél siker, mert most megkérdezi, hogy olvasásra akarom e megnyitni vagy írásra.
Nekem viszont az kellene, hogy meg se kérdezze csak állítsa be.
ActiveWorkbook.ReadOnly sajnos csak lekérdezhető, pedig jó lenne ha állítható is lenne
Próbáltam a rákérdezést kihagyatni Application.Displayalerts=false-al kihagyatni, de nem vált be.
Próbáltam makrórögzítéssel is felvenni, a válaszadást, de ez sem vált be.Van esetleg ötlet arra, hogyan lehetne ezt megbuherálni?
Szerk: egy másik jellegű kérdés: hogyan lehet lekérdezni, hogy egy adott UserForm "meg van-e nyitva"?
Próbáltam így:
if UserForm1.visible = true then...
(ekkor azonban elindul az adott UserForm Initializálása még ha eddig nem is volt "nyitva")
A UserForm.Show azt hiszem nem lekérdezhető, bár ebben nem vagyok egészen biztos.[ Szerkesztve ]
-
momoxp
tag
Adott ez a script, Az lenn a kérdésem hova keéne és mit beszúrnom hogy a felhasználói nevet és jelszót hozzáadja?
Option Explicit
Dim objNetwork
dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = WScript.CreateObject("WScript.Network")
Dim strDriveLetter1, strRemotePath1
Dim strDriveLetter2, strRemotePath2
'end of varible declarationsstrDriveLetter1 = "D:"
strRemotePath1 = "\\server\mappa01"
strDriveLetter2 = "E:"
strRemotePath2 = "\\server\mappa02"
'end of varible setupobjNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2
'end of map creation codeWScript.Quit
-
sztanozs
veterán
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
vilag
tag
válasz Tomaaasz #2325 üzenetére
Nem egészen.
Én azt szeretném, hogy amikor megnyitok egy adott excel fájlt, akkor az abban lévő programkód (megadott feltétel alapján) döntse el, hogy írásra vagy olvasásra nyílik meg. Csak egy fájlról van szó, nincs második.
Egy alábbi félmegoldás van, mert abban az esetben induláskor megkérdezi, hogy írásra vagy olvasásra akarom e megnyitni:
Private Sub Workbook_Open()
ActiveWorkbook.ReadOnlyRecommended = True
End SubÉn viszont azt szeretném ha nem tenné fel a kérdést.
Kb. így:
If felhasználó = admin then
megnyitás írásra
Else
megnyitás olvasásra
End if -
vilag
tag
válasz sztanozs #2327 üzenetére
Azt már próbáltam.
Működik is a dolog, azonban hiába állítom be, hogy a saját tulajdonba vételt megtagadom mindekitől, ha mentés máskénttel elmenti (és felülírja) a fájlt, akkor minden ilyen beállíts ment a levesbe.
Ráadásul a beállítása is elég nehézkes, pláne, hogy domain váltás miatt az újonnan jött kollégákat ki sem tudom tallózni, így persze a jogokat sem tudom beállítani hozzájuk.
(A domain váltás következtében kialakult ilyen jellegű problémát pedig több mint egy éve nem javították, és szerintem nem is fogják.)Egyébként én abból indulok ki, hogy ha megnyitás közben képes az excel állítani a jogot (mert ugye az, hogy megkérdezze, az is a Workbook_Open()-ben van), akkor valahogy csak meg lehet oldani, hogy hagyjuk ki a kérdést (vagy esetleg válaszoljunk programból). Csak a hogyanra nem tudom a választ.
-
vilag
tag
válasz sztanozs #2329 üzenetére
Szerintem itt valami félreértés lesz (vagy én nem értek valamit).
Röviden: van egy postakönyv program, amelyet egyesek írásra, míg mások csak olvasásra nyithatnának meg. Ez lenne a cél.
Ennek a megnyitáskor kellene eldőlnie.
Egyrészt a véletlen belenyúlások miatt vannak két csoportba osztva, másrészt azért, hogy ne legyen az, hogy az akinek írásra is van joga nem tud dolgozni benne, mert szerkesztésre már megnyitotta egy olyan felhasználó akinek egyébként nincs (vagy nem lenne) joga beleírni.
-
martonx
veterán
ezt már számtalanszor kitárgyaltuk, de az excel annyira nem erre való. A jogosultság kezelés nem az erőssége.
Egyébként kerülő megoldásokat el tudok képzelni. Az excel megnyitásakor mindenképpen kérsz egy felhasználónév, jelszó párost. Ehhez te csinálnád a formot, meg te tárolnád az excelen belül ezeket az adatokat is. Aztán annak függvényében, hogy ki mihez férhet hozzá, kódból tudsz szabályozni mindent.
De ez azért nem kis macera lesz.
Én kérek elnézést!
-
vilag
tag
válasz martonx #2331 üzenetére
Ez a része már régen megvan.
Úgy van megoldva, hogy az excelben tárolom az összes felhasználót, és a hozzájuk tartozó jogosultsági szintet. A munkafüzet megnyitásakor a környezeti változók közül lekérdezem a Windowsba bejelentkezett felhasználó felhasználónevét és a hozzá kapcsolódó jogosultságot.
Tehát miután megnyílt a fájl már el van döntve, hogy mit tehet és mit nem. Ezzel nincs is gond.
A gond ott van, hogy ha egy felhasználó szintű felhasználó nyitja meg a fájlt, akkor ő azt írásra nyitotta meg, még ha nem is tud bele konkrétan írni mert zárolva vannak a táblák meg minden.
Azonban ha eközben egy admin jogú felhasználó nyitja meg a fájlt, akkor ő már csal olvasásra tudja megnyitni a fájlt, mert a másik felhasználónál nyitva van írásra is.Ezt a problémát szeretném áthidalni, akár kerülőúton is. Csak ezt a kerülőutat nem tudom. Erre nem találok megoldást már hetek óta.
Ha esetleg nem olvastál feljebb, felmerült a ActiveWorkbook.ReadOnly.Recommended amivel ugye el lehet érni, hogy megkérdezze a megnyitáskor, hogy írásra vagy olvasásra szeretnéd megnyitni.
Van egy olyan is, hogy ActiveWorkbook.ReadOnly, de ez sajnos csak lekérdezhető
-
martonx
veterán
-
sztanozs
veterán
Ha már office - miért nem használsz access-t, abban legalább ez megoldható volna?
Vagy miért nem használsz az excelben korlátozásokat, azt tudod programozottan módosítani. Egyszerűen beállítod, hogy a form mezőők nem módosíthatók és kész. Megfelelő felhasználóknak meg feloldod a zárolást.
[link][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
vilag
tag
válasz martonx #2333 üzenetére
Másik programnál már kénytelen voltam így megoldani ezt a problémát, bár ott más körülmény is indokolta a szétválasztást.
Ennél a programnál viszont semmi más nem indokolja ezt. A munkalapon gyakorlatilag egy képlet sincs, így nagyjából maga az excel így is csk adatbázisként funkcionál.
Ebből kifolyólag semmiképpen sem szeretném kettéválasztani.
-
vilag
tag
válasz sztanozs #2334 üzenetére
Őszintén szólva, sajnálatos módon az általam végigtanult iskolák egyikében sem oktattak Accesst-t (még csak bele sem néztünk), pedig egy-két iskolát végigtapostam már.
Nagyjából Excel és Word volt mindenhol, de a mostani Excel és VBA tudásom 95%-a is sajáterős.Access-ben igazából még életemben nem dolgoztam, bár sejtem már régen, hogy valahogyan meg kellene vele ismerkednem.
A másik ok pedig az, hogy excelben már készen van a program (ezt a problémát leszámítva).Egyébként nehéz lenne áttenni accessbe?
Szerk: Plusz, fogalmam sincs, hogy a cég minden gépén rajta van e az access.
Erről eszembe jut valakinek egy korábbi hozzászólása, miszerint: a böngésző az amely minden gépen ott van...
A végső cél az lenne, hogy valami ilyenbe át tudjam ültetni, de ehhez is kellene egy konkrét ember aki ebben tudna segíteni, mert egyedül biztos nem fog menni.[ Szerkesztve ]
-
vilag
tag
válasz sztanozs #2337 üzenetére
Akkor én is ismétlem magam , mert úgy érzem van itt egy kis félreértés.
Nem ez a gond, az ilyesfajta tiltás már meg van oldva. (Van aki írhat is a táblába, és van aki csak megtekintheti)
A gond az, hogy magát a fájlt foglalják szerkesztésre olyanok akiknek egyébként (ha úgy tetszik) egyébként sincsen már joguk beleírni, mert beállítások miatt nem tud beleírni, csak keresni tud benne.
Ha azonban ugyan ekkor egy olyan személy szeretné megnyitni szerkesztésre akinek egyébként lenne joga beleírni, az meg nem tudja csak olvasásra megnyitni, mert ezt az üzenetet kapja:
"A xyz.xls fájl zárolva van szerkesztésre
'xy' által.
Megnyithatja "Olvasásra", vagy válassza az "Értesítés" gombot, ha az olvasásra való megnyitás mellett értesítést is kér, mikor a dokumentum használatát befejezik."
Erre a problémára keresek én megoldást.
[ Szerkesztve ]
-
belaur
tag
Én ezt ugy oldanám meg, hogy csinalok egy Read excel-t ami gombnyomásra/megnyitaskor kilistázza a a Read/Write excel tartalmát, valamint egy Write excel-t amiben lehet szerkeszteni.
Hasonló módszer lehet hogy kimented egy külső fájlba az adatot és azt az egyik excel csak beolvassa a másik pedig szerkeszti is.UI. nemtudom, hogy megoldható-e, de én valahogy igy kezdenék neki a dolognak. A fájl olvasás irás jogosultságokkal lehet galiba imo.
-
vilag
tag
Ezt a megoldást már korábban elvetettem.
Meg lehetne így is oldani nem arról van szó, csak mondjuk jelen esetben kb. 13000 sort kellene másolni egyik táblából a másikba. Nem próbáltam ki, hogy ez mennyi ideig tart, de lassabb gépen (amiből itt akad elég) gondolom azért nem egy pillanat alatt megy végbe.
Ha feljebb olvasol egyéb más érveket is felhoztam amiért nem kívánom szétválasztani több fájlra a programot.
Ha már így is lenne, akkor egyszerűbb lenne az ha csinálnék egy segédfájlt és ez indulna először, ebből pedig külső fájlt már (ha jól emlékszem) lehet úgy nyitni, hogy megadom, hogy szerkesztésre vagy olvasásra nyíljon meg.
Ezt a megoldást egy másik programban már alkalmazom, de pont az lenne a lényeg, hogy nem akarok segédfájlt.
-
martonx
veterán
Pedig szerintem a programod megérett arra, hogy ne egy file-ban legyen. Sok út áll előtted, néhány a teljesség igénye nélkül, megoldási komplexitás szerint növekvő sorrendben:
1. adat részét másik excelbe viszed át
2. adat részét adatbázisba viszed át (ez lehet bármilyen adatbázis, akár csak egy sima access-es kis lokális db)
3. a programot fogod és kompletten átírod valamilyen vastag klienses megoldásra.
4. átírod webalkalmazásra, ugyebár böngésző garantáltan minden gépen van, még mobilon és tableten is. Én ezt a megoldást preferálom, bár én webfejlesztő vagyok, szóval részrehajlok. Ez a legmacerásabb, legnagyobb váltás, ugyanakkor ez a legelőremutatóbb is.Én kérek elnézést!
-
vilag
tag
válasz martonx #2341 üzenetére
Mivel bátor vagyok, így akár a 4. megoldási javaslattal is szívesen élnék, de mint korábban írtam, nem végeztem ilyen irányú iskolákat, jelenlegi VBA tudásomat is részben a kollégám útmutatásával, googlizással, autodidakta módon történő tanulással, és tőletek szereztem.
Ebből levonható az a következtetés, hogy ha ebbe az irányba szeretnék elindulni (márpedig régóta kacérkodom a gondolattal), akkor biztosan kell valaki, aki segít a nehézségek leküzdésében.
Esetleg Te vállalnád e ezt a megpróbáltatást?
Egyáltalán milyen fejlesztőkörnyezetben érdemes gondolkodni?
-
vilag
tag
válasz pieceofpaper #2343 üzenetére
Ezt az ötletet már korábban elvetettem, mert ugyan nem valószínű, de bekövetkezhet, hogy mindkét személy ugyan abba a cellába ír és ha kilépéskor kap egy olyan kérdést, hogy melyik adat kerüljön megtartásra, akkor nagy valószínűséggel lövése sem lesz róla, hogy mit kell válaszolnia.
-
vilag
tag
válasz pieceofpaper #2345 üzenetére
HEURÉKA!
Hát ez az amit egész idáig kerestem!!!!!
Ezzel minden probléma meg is oldódott.
Ki üröm az örömben, hogy kicsit lassítja a megnyitást, mert megnyitás után amikor eljut az előbb említett sorig akkor elmenti a munkafüzetet (azt nem tudom, hogy miért), aztán újból megnyitja, de már olvasásra.
Vajon ezt a mentést ki lehet e vele hagyatni, vagy ez szükséges rossz?
-
vilag
tag
Halihó!
Egy újabb fantasztikus kérdés merült fel bennem.
Lehet e VBA-ból lekérdezni/ellenőrizni, hogy az alapértelmezett nyomtató (amely ugye lehet a helyi géphez csatolt és hálózati is) elérhető e?
Próbáltam a gugli segítségével kutakodni, de számomra értékelhető infót eddig nem találtam.