- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Milyen switch-et vegyek?
- Linux kezdőknek
- Hálózati / IP kamera
- Sweet.tv - internetes TV
- A Microsoft feltalálta az olcsó AI-t
- Musk szerint már jövőre itt vannak a Tesla Optimus humanoid robotok
- Otthoni hálózat és internet megosztás
- Synology NAS
Új hozzászólás Aktív témák
-
vilag
tag
válasz sztanozs #2050 üzenetére
Basszus, már össze-vissza beszélek.
A középre rendezéses kérdésem a MsgBox-ra vonatkozott. Csak ezért nem akartam egy új formot csinálni, gondoltam hátha van lehetőség arra, hogy középre rendeztessem a megjelenítendő szöveget, netalán tán még a színét is megváltoztassam.
Azonban ha jól értem akkor ezekre nincs lehetőség.A korábbi kérdéseim pedig azért merültek fel, mert le akartam cserélni egy InputBox-ot saját formra, mert szükség lenne még ezen a beviteli panelen néhány más dolog 'eldöntésére' is.
Ez utóbbi nagyjábból úgy tűnik sikerült, bár most újra gondoltam az egészet és lehet, hogy máshogyan oldom meg. -
alfa20
senior tag
Sziasztok,
Excelben szeretnék makrót készíteni, és ehhez keresek magyar nyelvű könyvet, kettő könyv közt tanakodok:
1.) Demeter M. Ibolya: Visual Basic 6.0
2.) Peter G. Aitken - Visual Basic 6 - Kék könyvnekem csak az Excelhez kell a VB és azt olvastam hogy erre a VB6 a jobb.
valaki tudna abban segíteni, hogy teljesen a nulláról, melyik könyvet érdemes választani esetleg mind kettőt, vagy van jobb választás?Excelben azért otthon vagyok, írtam is már pár makrót rögzítéssel, de az összetettebbekhez kevés a tudásom
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
vilag
tag
Mi a különbség a CheckBox_Click és a CheckBox_Change között?
Értelmezésem szerint az lenne, hogy az egyik akkor fut e ha kattintanak, a másik meg akkor ha megváltozik.
Ez azt jelenti, hogy ha máshonnan változtatom meg az értékét, a change akkor is lefut, míg a másik esetben nem? -
sztanozs
veterán
KB igen - ez amúgy két külön esemény (pl. click után change is lefut, ha kattintás után megváltoztatod...)
alfa20 - VB6-nak kb annyi köze van a VBA-hoz (Visual Basic for Application - azaz az Office VB-je), hogy mind a kettő VB - persze, ha tudod programozni az egyiket, menni fog a másik is. No meg az alap nyelvi szintaktika is egyezik, de sem a fejlesztőkörnyezet, sem az alap osztály/függvény-könyvtár nem egyezik.
[ 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
Valaki áruja már el, hogy a vezérlők fókuszba hozása (setfocus paranccsal) mi a fészkes fenéért nem működik rendesen????
Már megőrjít.
Pl.: van nekem egy comboboxom amiben a település neveket lehet begépelni. Ha a megadott településnév hibás, akkor sima msgbox-al kap egy hibaüzenetet. Ezt 'leokézza', de a fókusz eltűnik, nem tudni hol van. Ez azonban még mind semmi, a visszatérési pontra (az msgbox üzenete utáni sorba) megírom a setfocus parancsot, de ennek ellenére sem kerül fókuszba.Valaki mondja már meg mi vezérli, hogy mikor mi van fókuszban.
Köszönöm!
-
pirit28
csendes tag
Üdvözletem az uraknak !
Először is nem tudom ,hogy jó topik-ba írok-e,ha nem elnézést kérek.
A kérdésem a következő lenne.
2003-as excellben a fényképezőgép funkciót használva a képet beillesztettem egy cellába.
Egy másik táblában meg tudom -e jeleníteni ezt a képet egy függvény vagy makró használatával.
Pl:; 1 sheet1 b1-es cellájában van a kép, és a shett2 b1-es cellájába szeretném ezt látni valamilyen megoldással.A sheet a1-es cellában egy név található az b2-ben pedig a kép.A sheet2 a1 cellájába beírva a nevet, akkor az a sheet2 b1-es cellában megjelenjen.Remélem érthető voltam .A választ előre is köszönöm.
-
Bobrooney
senior tag
válasz pirit28 #2061 üzenetére
Excel topic, én csak ennyiben tudok most segíteni, próbáld meg ott is.
-
Burigabi
csendes tag
Sziasztok!
Nem vagyok járatos a Visual Basic-ben, de lenne egy problémám: 2010-es Accessben létrehozott Jelentést kell olyan szinten "leprogramozni", hogy a jelentés egyik mezője ha bizonyos értéket vesz fel, akkor a jelentés új mezőket jelenítsen meg. Ötlet?
Előre is köszönöm -
sztanozs
veterán
válasz Burigabi #2063 üzenetére
Ki kell rakni a mezőket a formra, a láthatóságot kikapcsolni és a figyelt mező format eseményébe bele kell íni, hogy ha felvesz a mező az adott értéket, akkor a plusz mezők láthatók, ha meg nem az, akkor nem láthatók:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Field2.Value = 1 Then
Field3.Visible = True
End If
End SubJOGI 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
válasz Burigabi #2066 üzenetére
Nem. Megnyitod a riportot design nézetben, kiválasztod az a felületet, ahol a megjelenítendő mezők vannak. Nekem Angol verzió van, ott Detail a neve annak a felületnek ahol az egyes adatokat rendezi, de ha a meződ fejlécben vagy láblécben van, akkor ott kell elhelyezni, nem "középen".
Ezután a Tulajdonságok lapon megkeresed az események tabot, att kiválasztod a Format eseményt (vagy ez is magyarítva van?), ott legenerálod az eseménykezelőt és abba illeszted be (nem a Click eseménybe, és nem a Nyilvantartas mező eseményébe, ahogy mutattad):
If Nyilvantartás.Value = "D6" Then
Megjegyzés.Visible = True
End If[ 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...
-
Burigabi
csendes tag
válasz sztanozs #2067 üzenetére
Bocsi, hogy ilyen béna vagyok, de nem látszik sikerülni...
Megjegyzés mezö Visible paramétere false, a detail On Format eseménye pedig:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Nyilvántartás.Value = "D6" Then
Megjegyzés.Visible = True
End If
End Sub
És hiába érkezik olyan mezö, amely értéke D6, ugyanúgy nem jelenít meg semmit[ Szerkesztve ]
-
dkaro
őstag
Sziasztok!
Egy user felvelő scriptet fabrikálnék, de nem boldogulok a manager attributummal.
Van egy ilyen selectem amivel kilistázom a felhasználókat:
<select size="1" name="felettes">
<option selected value="-">-</option>
<script language="vbscript">
Set objOU = GetObject("LDAP://srv0101vg/ou=Varosgazda,dc=varosgazda,dc=hu")
objOU.Filter = Array("user")For Each objUser in objOU
strUser=Right(objUser.Name, (Len(ObjUser.Name)-3))
document.write("<option value='"&objUser.Name&"'>"&strUser&"</option>")
Next
</script>
</select>strFelettes=felettes.value
objNewUser.Put "manager", strFelettesDe hibával elszáll. Így is próbáltam megadni:
objNewUser.Put "manager", "CN="&strFelettes&",OU=ou,DC=domain,DC=hu"Ezt se ettem meg. Nagyon láma vagyok a programozáshoz, valaki pls írja le mivel fog működni.
Köszönöm!
dkaro -
vilag
tag
Üdv!
Új kérdés merült fel bennem.
Alaphelyzet: van egy munkafüzetem ami automatikusan futtat egy userformot indításkor és a felhasználó minden változtatást csak ezen végezhet.
Lehet e azt valahogyan vizsgálni, hogy a nem az általam említett munkafüzet kerül fókuszba.
A kérdés oka az, hogy elég sok (de egy is elég lenne) vezérlőm menet közben kap értéktartományt RowSoure segítségével az említett munkafüzetből. Na már most ha a felhasználó futtatás közben a tálcán egy másik munkafüzetre kattint, akkor az enyém kikerül a fókuszból. Így amikor legközelebb a vezérlő a munkafüzetem egy bizonyos nevű lapjának bizonyos helyéről próbál értéket felvenni, akkor hibára fut mondván (és persze jogosan), hogy "Could' t set RowSource Property" Minthogy az aktív munkafüzetnek nincs olyan lapja amire én hivatkozok.
Továbbá érdekelne az is, hogy egy írásvédett munkafüzetet megnyitva azzal lehetővé tehető e az kódból, hogy önmagáról levegye az írásvédettséget, írjon a munkafüzetbe, mentse el majd újra legyen írásvédett a fájl.
Ennek célja, hogy az alapjáraton a felhasználók általi véletlen módosítások elkerülése érdekében levédett munkafüzetben bizonyos beállítások (ellenőrzött körülmények között) eltárolhatóak legyenek.
Előre is köszönöm a közreműködést!
-
sztanozs
veterán
Ne "csak úgy" hivatkozz a lapokra, hogy "Sheet1" vagy Sheet("Alapadatok"), hanem mentsd el az elején a workbook-ot és hivatkozz rá úgy, hogy csinálsz egy publikus globális változót a workbookodnak:
'module1.bas - ba
Public databook As Workbook
'ThisWorkbook - ba
Private Sub Workbook_Open()
Set databook = Me
End Sub
'a többi modulban meg így használd
Public Sub akarmi()
'akarmi
'akarmi
'akarmi
'Sheets("Alapadatok") helyett használd:
databook.Sheets("Alapadatok")
'akarmi
'akarmi
'akarmi
End SubJOGI 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 sztanozs #2072 üzenetére
Köszönöm a javaslatot.
Nekem volt egy másik ötletem is, miszerint:
Minden Change-hez beírom ezt:
Thisworkbook.ActivateCsak kicsit fárasztónak találtam ezt a megoldást.
A te javaslatod szerint ha jól értem, akkor az összes eddigi "régi típusú" hivatkozásomat le kell cseréljem?
Vajon a keresés/csere megoldást kínál nekem erre a problémára????Másik problémára esetleg valami ötlet?
-
sztanozs
veterán
Ha fájlrendszer szinten van rajta a read-only, akkor csak trükközéssel lehet levenni:
Megnyitni egy másik fájlt ami
- bezárja az aktuálisat,
- váloztatja a readonly attributomot
- beleír
- bezárja
- újra megnyitja
- visszadja a fókuszt és kilépSzóval egyszerűbb, ha az adatok nem is az aktuális excelben vannak, hanem egy másikban amit szükség esetén szerkeszteni tud.
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...
-
martonx
veterán
ok, akkor előtte, ahol a Workbooks.ot létrehozod, vagy még előtte, ahol az excel objektumot létrehozod, kellene hogy beállítsd. Csak körülbelülre mondom, lusta vagyok kipróbálni:
set ea = new excel.application vagy valami ilyesmi sorod van elvileg.
Aztán ea.display vagy ea.visible = false kell, és ekkortól az az excel objektumod végig a háttérben marad.
Én kérek elnézést!
-
vilag
tag
válasz martonx #2079 üzenetére
Nem tudom, hogy számít e, de nem kell létrehozni a munkafüzetet, mert azt én már megcsináltam és azt nyitom ha bele kell írni, majd mentem és zárom, majd legközelebb ugyan ez a tábla kerül megnyitásra.
Úgy is mondhatnám ebben fogom tárolni a szükséges elmentendő dolgokat.
Az általad leírtakból azért megpróbálkozom a lehetőségekkel.
-
martonx
veterán
Megvan, bár ez lehet, hogy csak külső forrásból működik?
Application.Visible = False
Ezzel tudod kikapcsolni az exceled láthatságát. Viszont lehet, hogy ez a meglévő exceledet is eltünteti? Ez akkorj ön jól, amikor egy vbscriptel, vagy bármivel excel-t kell macerálni, és nem akarom villogtatni a képernyőn.
Magából az excelből belülről használva, nem tudom működik-e?Én kérek elnézést!
-
palimre
csendes tag
válasz martonx #2060 üzenetére
Miért kell egy fontos kérdésre szamárságot válaszolni? Nekem például ugyanez a problémám, már órák óta keresgélem a megoldást, de nem találom. Szóval örültem volna egy értelmes (hozzáértő) válasznak a kérdésre. Amúgy angol nyelvű lapokon már láttam, hogy ezzel többeknek gondja van, csak még a megoldást nem találtam meg.
-
sztanozs
veterán
válasz palimre #2086 üzenetére
Az excelnek nem jó a fókusz-kezelése, ez egyértelmű.
Amúgy az adott vezérlő egy userformon van, vagy a worksheet felületén? Most hirtelen nem tudtam reprodukálni a problémát...
[ 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...
-
martonx
veterán
válasz palimre #2086 üzenetére
vilag-gal ez egy régi történet. Ő is tudja, hogy már rég túllépte azt a határt, amire az excel makró programozást kitalálták.
Ha te is túllépted ezt a határt, akkor ezt ideje felismerned, és a programodat immár nem excelben, hanem valamilyen más erre kitalált keretrendszerben újraírni.
Ha pedig - mint vilag - valamilyen külső infrastrukturális körülmény miatt ezt nem tudod megtenni, akkor meg nem kell csodálkozni, hogy az exceles makród néha bizony furcsán fog működni.
Ezt hozzáértőként javaslom. Mi itt cégen belül sok mindent excelben programozunk, de mindent abban programozni butaság lenne.Én kérek elnézést!
-
vilag
tag
válasz sztanozs #2087 üzenetére
Csak UserFormon vannak vezérlők, mert gyakorlatilag a munkalapokat a felhasználók számára "kiiktattáma".
A felépítés: UserForm amenyen van egy Frame (persze több is de az most nem érdekes), amelyen belül található a ComboBox.
A ComboBox-nak kötött az értéktartománya, ezért mikor abban nem szereplő adatot viszel be, feljön egy MsgBox, melyen csak egy OK gomb van.
Ha ezt megnyomod, akkor a MsgBox értelem szerűen eltűnik, azonban a fokusz nem tudni hová kerül, mert a kurzor sehol nem villog, mintha a fókusz nem került volna vissza a UserForm-ra. -
vilag
tag
válasz martonx #2088 üzenetére
Na igen, ez már valóban nem ma kezdődött, hanem egy messzi, messzi galaxisban...
Persze sok problémán átsegítettek már az itt tevékenykedők, főként martonx és sztanozs, és bizonyára még rengeteg kérdésem lesz, melyek közül számos hülyeség lesz
De aki nem kérdez, az általában nem is kap választ...
-
sztanozs
veterán
Próbáld meg, hogy először a frame kapjon focus-t és utána a benne levő kontrol.Rájöttem mi a gond - gondolom a ComboBox1_Exit eseményt használod.
Ha szeretnéd visszaadni a fókuszt a comboboxra, cancel-eld le az eseményt:
Cancel = True - ne setfocussal próbáld meg megtartani a fókuszt, mert az eseménykezelő végén a környezet "veszi el" azt kontrolltól.Ezt írja az Exit eseménykezelő help-je:
Note
To prevent the control from losing focus, assign True to the Cancel argument of the Exit event.Másrészt ezt írja a SetFocus help-je:
The SetFocus method is valid for an empty Frame as well as a Frame that contains other controls. An empty Frame will take the focus itself, and any subsequent keyboard events apply to the Frame. In a Frame that contains other controls, the focus moves to the first control in the Frame, and subsequent keyboard events apply to the control that has the focus.Exitnél alapvetően vagy másik kontrollra megy a fókusz, vagy input controlloknál Enter (és talán Esc) gomb hatására. Enter leütésénél a szülő kontroll kapja meg a fókuszt (form vagy frame) és osztja ki a beállításainak megfelelően.
Feltehetően egy olyan kontroll kapja meg a fókuszt (azon van a TabStop = 0 a properties ablakban), ami alapból nem kezel eseményeket (pl label, picturebox, vagy hasonló) és nem látszik rajta a fókusz. Legegyszerűbb, ha a combobox Tabstop-ja 0-ra van állítva, és akkor a panel fókuszba kerülésével ő kapja meg majd a fókuszt.
[ 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...
-
Rapido251
csendes tag
Üdv, szeretnék egy kis segítséget kérni tőletek, hátha valaki tud segíteni. Egy játékot csinálok egy versenyre, és egy dologgal nem tudok megbirkózni. Van egy céltábla és 3 részre van osztva. Nos, mind a 3 részére szeretnék írni egy feltételt. Például: a közepe 50 pontot érjen, a középső kör 25-öt, és a külső 10-et. De sehogy se boldogulok ezzel, hogy hogyan kell azt észlelni, hogy mikor melyik körben kattint. (A Visual Basic-et kb. 7 hónapja tanulom (programozást kb. másfél éve))
Itt a kép róla:
[ Szerkesztve ]
-
martonx
veterán
válasz Rapido251 #2096 üzenetére
Ez most VB.Net-es winforms akar lenni?
Mert ott mondjuk megcsinálhatod, hogy 3 kör alakú vezérlőt raksz egymás fölé. A legnagyobb pirosat legalulra, a középső fehéret középre, legkisebb pirosat legfelülre.
Így el tudod kapni a kattintást, és le tudod kezelni, hogy éppen melyik részére ment a kattintás.Én kérek elnézést!
-
sztanozs
veterán
válasz Rapido251 #2096 üzenetére
Vagy matek: ha tudod, hogy pontosan mekkorák a körök, akkor kiszámolod, hogy kontoll középpontjától milyen messze kattintott és az alapján adsz pontot a
clickmouseup, vagy mousedown eseményben (mert csak ott kapod meg a koortdinátákat, a clickben nem).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
Valahogyan ki lehet deríteni, hogy egy programból megnyitott fájl csak olvasásra nyílt-e meg?
Oka: a korábbiakban tárgyaltaknak megfelelően egy segédfájl létrehozása mellett döntöttem, tehát az elmentendő szükséges változókat ebbe teszem.
Mivel azonban a programot többen is használják (akár) egyszerre ezért előfordulhat, hogy a segédtáblát már megnyitotta írásra egy felhasználó (pontosabban ugye a program) amikor a másik felhasználó is meg akarja nyitni szintén írásra a fájlt.A segédtábla meglehetősen rövid ideig van nyitva (a lehető legrövidebb ideig), talán 1-2 másodperc, de statisztikailag van rá esély, hogy egyszerre nyissák meg.
Ezért a második felhasználó által futtatott program nem tudja elmenteni a fájlt.
Fentiek miatt indokoltnak látom ennek a hibalehetőségnek az előre történő lekezelését.
Esetleg tegyem közös használatúvá a fájlt?
-
Új hozzászólás Aktív témák
- Elado jbl 200tws bluetooth fullhalgato!!!!
- Fallout 76 DIGITÁLIS KÓD XBOX SERIES/ONE/PC
- Eladó PS4 játékok
- ACER PredatoR Triton 16" 3.2k 165hz Intel Core Ultra9 32GB DDR5 2TB NVIDIA RTX4070 8GB,beszamitas is
- AKCIÓ!!! A tökéletes GF! MSI GF63 Thin 11UD i7-11800H 16GB 512GB Nvidia RTX 3050 Ti Gar:2024.08