Keresés

Új hozzászólás Aktív témák

  • vilag

    tag

    Hali!

    Számomra megoldhatatlannak tűnő problémába ütköztem.
    Arról lenne szó, hogy van nekem egy postakönyv.xls táblám. Ebben tárolom soronként az adott levélhez tartozó értékeket. Ez a tábla szolgál adatbázisként egy (illetve több) wordfájlhoz (mint boríték és tértivevény sablon).

    Azt szeretném elérni, hogy a postakönyv mentése után ne kelljen azt bezárnom és a kívánt wordfájlt elindítva (a már korábban csatolt postakönyv.xls-t sql futását engedélyezve) nyomtatnom.

    A cél az lenne, hogy a postakönyvből userform segítségével tudjam meghatározni, hogy melyik word fájlt indítsa el (természetesen csak a háttérben) és mettől meddig terjedő tételeket nyomtassa ki.

    A megoldás már félig megvan. Odáig eljutottam, hogy az excellel elindítom a kívánt wordfájlt, majd hozzácsatolom a postakönyv.xls-ből kiexportált (ez a rész is megírva) nyomtatas.xls-t.

    Léptetésben működik is a dolog, egyedül ott akad meg a dolog, hogy rákérdez, hogy az adatbázis tábla melyik lapját kívánom csatolni és az eslő sora oszlopfejléceket tartalmaz e.

    Azt szeretném elérni, hogy ez ne akassza meg a folyamatot és ne legyen rákérdezés, hanem az előre definiált lapot csatolja és az első sor oszlopfejléceket tartalmazzon.

    Eddig a programkód:
    channelnumber = Application.DDEInitiate(app:="WinWord", topic:=op1)
    Application.DDEExecute channelnumber, "[fileopen .name=""V:\Postakönyv\00-TV_sablon_(16,5x10,6_cm)1.doc""][mailmergeopendatasource .name=""V:\Postakönyv\nyomtatas.xls"" ][mailmergeopendatasource .SQLStatement:=SELECT * FROM `Munka1$`][mailmerge .destination=1, .mergerecords=1, .from=14, .to=" + ig + ", .mailmerge][appclose ""word""]" '[FILEPRINT .range=0]" '[appclose " + Chr(34) + "word" + Chr(34) + "]" '[toolsoptionssave .globaldotprompt=0]

    Ahol op1 = "V:\Postakönyv\00-TV_sablon_(16,5x10,6_cm).doc"
    ig = Trim(Str(hanysor + 13))
    ahol:
    hanysor= hány tételt kell nyomtatni

    Előre is köszönöm a segítséget!

  • vilag

    tag

    válasz martonx #1463 üzenetére

    Ezeken már túl vagyok, de a wordben rögzített makrót nem tudom maradéktalanul átfordítani excelbe, mert nem egészen értem minden részét, de valaki ebben segít akkor lehet, hogy meg is oldódik a probléma. Alább a rögzített makró:

    Sub
    ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource Name:= _
    "V:\Postakönyv\nyomtatas.xls", ConfirmConversions:=False, ReadOnly:=False _
    , LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:="", _
    PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:= _
    "", Revert:=False, Format:=wdOpenFormatAuto, Connection:= _
    "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=V:\Postakönyv\nyomtatas.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type" _
    , SQLStatement:="SELECT * FROM `Munka1$`", SQLStatement1:="", SubType:= _
    wdMergeSubTypeAccess

    End Sub

    Addig eljutottam, hogy az "SQLStatement" adja meg a munkalapot, de még így is megáll (gondolom azért mert nem tudtam megadni a fejléc van/nincs-re a választ. Szóval az ablak így is feljön, a különbség csupán az, hogy nincs egyetlen egy kiválasztható munkalap sem a listán.

    Sejtem, hogy a Extended Properties=""HDR=YES kell nekem, de nem tudom úgy megírni az excelben, hogy az eljáráshíváskor az is átkerüljön.

  • vilag

    tag

    válasz martonx #1466 üzenetére

    Hali!

    Megoldódott a probléma! :))

    A kód (ezt kell a kívánt Word doksiba, vagyis a célfájlba írni):

    ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource _
    Name:="xyz", _ 'forrásfájl helye
    LinkToSource:=True, _
    Format:=wdOpenFormatAuto, _
    Connection:="Munka1$", _
    SQLStatement:="SELECT * FROM `Munka1$`"

    With ActiveDocument.MailMerge
    .Destination = wdSendToPrinter
    .SuppressBlankLines = False
    With .DataSource
    .FirstRecord = 14
    .LastRecord = ig2 'saját változó
    End With
    .Execute Pause:=False
    End With

    Neház szülés volt, de meglett!!! :D

    [ Szerkesztve ]

  • vilag

    tag

    válasz #90999040 #1473 üzenetére

    Bocs, de nekem ez nem eléggé világos (ez mondjuk az én hibám). Megtennéd, hogy részletezed kicsit?

    Elmondanád, hogy a fenti problémát hogyan oldanád meg ezzel a módszerrel?
    Mert ugyan most működik, de ha lehet akkor egyszerűsítek rajta, plusz a módszer ismerete biztosan nem fog káromra válni.

    Köszi!

  • vilag

    tag

    Üdv!

    Újabb fogós kérdés merült fel.

    Egy multipage egyik lapján egy különböző frameeken belűl vannak nekem egy vezérlőim.

    A vezérlőkbe beírható karaktereket szeretném korlátozni. Mivel egy részüknél ugyan az a korlátozás szükséges (vagyis csak számok írhatóak be), subrutinná tettem egy eddig vezérlőnként alkalmazott eljárást.

    Sub csakszam()

    '8: backspace, 9: tabulátor, 13: enter, 17: Ctrl, 32: space, 46: delete, 48-57: felső számok, 86: v, 96-105: numpad számok, 109: numpad mínuszjel, 110: numpad pont, 186: é, 187: ó,
    '188: vessző, 189: kötőjel, 190: pont, 191: ü, 192: ö, 219: ő, 220: ű, 221: ú, 222: á, 226:í

    If KeyCode = 8 Or KeyCode = 46 Or _
    (KeyCode >= 48 And KeyCode <= 57) _
    Or (KeyCode >= 96 And KeyCode <= 105) Then
    TextBox1.Locked = False
    Else
    TextBox1.Locked = True
    End If

    End Sub

    A vezlőnél pedig ez van megírva:

    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni

    csakszam

    End Sub

    Gondolom sejtitek, hogy ez így nem működőképes (vagyis nem általánosságban), különben nem írtam volna.

    Gondoltam könnyen általánossá tehető a dolog egy huszárvágással, mert a "Textbox1" helyére egyszerűen bevezetek egy változot, amely mindig az aktuális vezérlő nevét helyettesíti.
    Azonban úgy nem működőképes a dolog.
    Egyik okát tudom: a KeyCode "rendszerváltozó" tartalma nem vihető át egy másik rutinba csak egy változón keresztül (mondjuk azt nem értem miért nem tehető a KeyCode rendszerváltozó egyszerűen publikussá, erre is várok valami okosat ha lehet). Ezt még meg is oldottam.

    NADE, azt mondja meg valaki, hogy hogyan lehet kinyerni, hogy melyik az aktív vezérlő????
    Mert ugyan is ha beteszem mondjuk, hogy:

    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat alszámba csak számot enged írni

    x=ActiveControl
    csakszam

    End Sub

    akkor az x értéke furcsa módon nem az lesz, hogy "Textbox1", hanem az, hogy "Multipage1".

    Pedig a súgója azt állítja, hogy az aktív vezérlő nevét adja eredményül, már pedig én erősen a Textbox1-ben buzerálódom.

    Várom a megoldási javaslatokat, esetleg konkrét kódrészlettel is.
    Az is érdekelne (ahogy fentebb is írtam, hogy ha meg tudja mondani valaki), hogy a KeyCode rendszerváltozó miért nem tehető publikussá.

    Köszönöm a segítségeteket!!!!!!!

  • vilag

    tag

    Halihó!

    Egy újabb problémával találtam magam szemben VBA kapcsán.

    Van nekem egy adattáblám ami, ugyebár tartalmazza az adatokat.
    Userformon szeretnék keresést eszközölni a megfelelő kulcsadat segítségével.
    A probléma pedig abban áll, hogy jelenleg csak úgy tudom visszakérni a megfelelő sor megfelelő oszlopának adatát, ha megmondom neki, hogy hanyadik oszlopból kérem vissza a kívánt adatot.
    A cél viszont az lenne, hogy ne oszlopszámot kelljen megadnom, hanem az oszlopfejléc nevét, mert könnyen lehet, hogy még plusz oszlopokat kell közbeszúrnom, és ekkor minden egyes oszlopszámra hivatkozó kódrészletet újra kéne kézzel számolnom.
    Jelenleg így használom:

    ComboBox4.Text = gtorzs.Cells(gsor, 7)

    ahol gtorzs=a munkalap neve
    gsor=a kiván sor sorszáma
    7=oszlop száma

    Tehát azt szeretném, hogy a "7" helyett legyen az oszlopfejléc neve (tudom, az hosszabb lesz, de így bárhová tehetném a táblán belűl).

    Hogyan tudnám ezt kivitelezni?

    Köszönöm a segítséget!
    Üdv, vilag

  • vilag

    tag

    válasz Homer #1588 üzenetére

    Üdv!

    Ez akár jó is lehetne, de túl hosszú és ha jól látom akkor minden egyes (keresett) oszlopfejléc szövegre meg kéne írni, ami több fáradtság lenne, mint ha minden egyes változáskor (ami mondjuk ritkán fog változni ha egyszer elkészült az egész) kézzel újraszámozom a megfelelő kódrészletet.

    Nincs esetleg valami rövidebb megoldás?

    Én gondoltam a vlookup-ra, de aztán elvetettem, minthogy meg kéne adni melyik oszlopban keresse a keresési értéket, de ha ezt tudnám akkor már nem volna szükség az egészre.

    Tulajdonképpen nekem az is elég lenne, ha találnánk valami olyan megoldást ami megmondja, hogy a keresett szöveg milyen számú oszlop milyen számú sorában van (persze elég csak az oszlop száma is). Innen már nyert ügyünk lenne.

    Egyébként köszönöm az eddigi ötletelést is!

  • vilag

    tag

    válasz Homer #1595 üzenetére

    Üdv!

    Esetleg mit szóltok az excel "hol.van" (match) függvényére. Nekem úgy tűnik használható lenne az adott problémára.

    Az ötlet egyébként a kollégámé, őt illeti a dícséret.

    Microsoft excel súgó:
    "A függvény egy olyan elem tömbben elfoglalt relatív pozícióját adja vissza, amely megadott értékkel megadott módon egyezik. A HOL.VAN abban különbözik a többi kereső függvénytől, hogy a megtalált elem helyét adja meg, és nem magát az elemet.

    Szintaxis

    HOL.VAN(keresési_érték;tábla;egyezés_típus)

    Keresési_érték: Az az érték, amelynek segítségével a táblázatban a keresett érték megtalálható."

  • vilag

    tag

    válasz Homer #1599 üzenetére

    Igazából már muszáj "makrobizni", mert userformon fog történni minden, ez csak egy apró szeletet volt a dolognak. Mindössze enélkül nem lett volna értelme folytatni, mert később újra kellett volna írnom az egészet.

    A megoldás ez lett (bár gondolom az előzőekből nektek ez már nemigen lesz újdonság):
    név = Application.WorksheetFunction.Match("Név", ThisWorkbook.Sheets("gtorzs").Range("1:1"), 0)

    Listboxal kapcsolatban viszont lenne egy érdekes kérdésem, amelyre eddig önerőből nem találtam választ.
    A listbox ugye egy kijelölt excel tartományt "mutat meg". Azt viszont, hogyan lehet megoldani, hogy az egyesített cellák is egyesítettként jelenjenek meg benne?

    Pl. excel táblában van nekem egy fejléc oszlopom ami viselje pl a következő nevet: "Születési dátum", viszont ez három oszlop (év, hónap, nap) fejléce. A listboxban viszont úgy jelenik meg, hogy az év oszlop felett van a "Születési dátum", a másik kettő felett pedig üres cella (elválasztó vonallal mindennel együtt).

    Ötlet?

  • vilag

    tag

    válasz ArchElf #1603 üzenetére

    Akkor röviden a lényeg.

    Egy gazdálkodói adatbázisról lenne szó, minden egyes adathoz (legalább is a nagy részéhez) tartozik egy userform vezérlő.
    A userformnak kettős célja van, egyrészt lehetővé teszi a meglévő adatbázisban a találatok szűkítését az adott vezérlőbe írt szöveg alapján, másrész új tételek felvitelére is alkalmas lesz (legalább is eddig ez a terv)
    Induló állapotban a listbox tartalmazza a teljes adatbázist. A beírt karakterek alapján az adatbázis (és így a listbox is) szűkítésre kerül.
    Ha a szűkítés megtörtént és látható a (vélhetően) keresett gazdálkodó, akkor a listboxban rákattinthatunk a keresett emberkére, és egy gombot megnyomva az összes adata betöltődik a megfelelő vezérlőbe ahol ezután változtatásokat hajthatunk végre az adatain.

    Összegezve tehát jól "ment le" :) neked a dolog, két említett probléma független egymástól.

    Valóban a címsorban akartam keresni. Pontosítva a címsor megfelelő szövegét kerestem, hogy megkaphassam a helyét (oszlop sorszmát), mert később szeretnék hivatkozni a helyére (amikor visszatöltöm az adatokat), de az adatbázis oszlopbeosztása még képlékeny, ezért nem akartam abszolult hivatkozásokat (vagy offset-et) használni. Mert ha esetleg később be kell szúrnom egy oszlopot (vagy éppen ki kell vennem) akkor nézhetném át az egész kódot, így viszont nem kell ilyesmivel törődnöm.

    Remélem nagyjából értelmezhető amit írtam.
    Egy pár kép, hogy jobban átlátható legyen a dolog:
    [link]

    [ Szerkesztve ]

  • vilag

    tag

    válasz martonx #1605 üzenetére

    Sajnos ez van.

    Pénz nincs semmire, tehát a lightswitch kilőve.
    Az Oracle-t használja a cég (a központi szoftverünk arra lett írva), de kétlem, hogy a szerverhez kapnánk hozzáférést, mivel az a központban van, mi meg megyei szinten vagyunk.
    Az Access járható út lenne (gondoltunk is rá), de sajnos ahhoz még annyit sem konyítunk mint az excelhez és a VBA-hoz.

    Megj.: a gazdálkodói adatbázis jelenleg is excelben van (ugyan így VBA-val "megbolondítva"), de eljárt felette az idő. Új tartalmak szükségesek és megváltoztak az elvárásaink is, így arra gondoltunk, hogy már egyszerűbb újra írni, (és persze akkor már a funkciókat is kibővíteni) mint toldozni-foltozni.

    Esetleg ha lenne egy mentor akkor elkacérkodnánk az access gondolatával, de anélkül egyikünknek sincs annyi (fölös) munkaideje, hogy önerőből belevesse magát a dologba.

    Szerk.: a félreértések elkerülése végett, ez nem kiadott munka, inkább a saját munkánk megkönnyítése, és kihívás is egyben.

    [ Szerkesztve ]

  • vilag

    tag

    válasz martonx #1608 üzenetére

    Ha már így megcsiklandoztad a fantáziámat, akkor ajánlhatnál valami jó könyvet (lehetőleg magyar nyelvűt), ami esetleg a világhálón is elérhető. Aztán lehet, hogy belevetem magamat az access-re történő átültetésbe (bár még excelben sincs befejezve :) )

    Most belekukkantottam az accessbe, de azt sem tudom mit kell indítani, úgyhogy kicsit megrémültem, de gondolom ez csak kezdeti ijedtség lesz...

  • vilag

    tag

    válasz martonx #1608 üzenetére

    Bocs, véletlenül dupla lett, bár nem tudom hogyan. Törölni nem lehet innen hozzászólást?

    [ Szerkesztve ]

  • vilag

    tag

    Tudja esetleg valaki, hogyan tudom az oszlop számából visszanyerni az oszlop betűjelét?
    Vagy kit tudom e "váltani" valamivel?

    A probléma az előzőekből adódik (nem akarok fiksz hivatkozásokat használni).

    Van azonban egy olyan kódrészletem amiben egy változó által hozott cellanevet adok meg.
    Selection.Sort Key1:=Range(kulcs1), Order1:=xlAscending _
    , Key2:=Range(kulcs2), Order2:=xlAscending _
    , Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
    , DataOption1:=xlSortNormal, DataOption2:=xlSortNormal

    ahol kulcs1=a cella hivatkozása (pl.: b2)
    kulcs2=egy másik cella hivatkozása (pl.: d2)

    Jelen esetben a 2 az fix lenne, de az előtte lévő oszlopnak csak a számát tudom, mivel az dinamikus lenne, tehát adott pillanatban nem biztos, hogy az adat a b oszlopban van.

    Tudom, hogy valami egyszerű a megoldás csak nem találom.

    Igazából annyit szeretnék, hogy az oszlop betűjelét helyettesíthessem az oszlop számával.

    [ Szerkesztve ]

  • vilag

    tag

    válasz vilag #1612 üzenetére

    Megoldottam, tudtam, hogy valami egyszerű megoldása lesz.

    Selection.Sort Key1:=Cells(kulcs1, 2), Order1:=xlAscending _
    , Key2:=Range(kulcs2), Order2:=xlAscending _
    , Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
    , DataOption1:=xlSortNormal, DataOption2:=xlSortNormal

    ahol range(kulcs1) helyett, cells(kulcs1, 2) van,
    ahol kulcs1 a korábbi b2 helyett, már csak az oszlop száma (pl.4)

    :)

  • vilag

    tag

    Sziasztok

    Egy furcsaságra lettem figyelmes az egyik általam írt programban.
    Az a baj, hogy nem csak furcsa, hanem bonyodalmakat is okozott, melynek kikerülésére egy újabb változót voltam kénytlen bevezetni.

    A jelenség a következő:

    Adott egy userform,.amin vezérlők és fram-ek is vannak.
    Az egyik (ponosabban kettő) vezérlő change rutinja akkor is lefut amikor azt se nem hívom meg, se nem folyik olyan művelet (legalább is ismereteim szerint) aminek azt meg kellene hívnia.

    A folyamat a következő:
    adott egy gomb a userformon aminek a megnyomásával 3 comboboxban és egy textboxban lévő text visszaíródik az excel tábla megfelelő sorának megfelelelő helyére.
    Ekkor azonban (nem tudom miért) el kezd lefutni egy tök másik combobox (amelynek tudtommal nincs köze az adott eseményekhez) change rutinja.

    Van valakinek valami ötlete, hogy ezt mi okozhatja? Léptetéssel végignéztem, de sehol nem találok olyan sort amely indokolná ennek a changenek a lefutását.

    Várom az ötleteket.

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1681 üzenetére

    De tudomásom szerint csak excelbe történő kiírás folyik, onnan visszaolvasás nem. Legalább is ennél a folyamatnál nem. Tehát nem tudok rájönni, hogy mi indokolja egy elvileg nem érintett combobox change-ének lefutását. Mitől változna az értéke????

    Csak egy nyamvad évszám van benne.

    Akkor a kódrészletek:
    A gomb megnyomásakor ez fut le:
    Private Sub CommandButton6_Click() 'Partner rögzítése a gyakori partnerek listájára

    If ComboBox12.Text = "" Or ComboBox2.Text = "" Or TextBox3.Text = "" Or ComboBox1.Text = "" Then
    hiba = MsgBox("Valamely címzéshez szükséges adat hiányzik, kérlek ellenőrizd!", 16, "Címadat hiba")
    Exit Sub
    End If

    üzenet = MsgBox("Biztosan rögzíteni akarod a partnert a gyakori partnerek listájára az alábbi adatokkal?" + Chr(13) + Chr(13) + _
    "Név:" + Chr(9) + Chr(9) + ComboBox12.Text + Chr(13) + _
    "Település:" + Chr(9) + ComboBox2.Text + Chr(13) + _
    "Utca, hászám:" + Chr(9) + TextBox3.Text + Chr(13) + _
    "Irányítószám:" + Chr(9) + ComboBox1.Text, 36, "Partnerrögzítés")

    If üzenet = 2 Then
    Exit Sub
    Else
    kileptet = False
    partnerujsor = ThisWorkbook.Worksheets("Partnerek").Range("a2").End(xlDown).Row + 1
    ThisWorkbook.Worksheets("Partnerek").Range("a" + Trim(Str(partnerujsor))).Value = Trim(Str(partnerujsor - 1))
    ThisWorkbook.Worksheets("Partnerek").Range("b" + Trim(Str(partnerujsor))).Value = ComboBox12.Text
    ThisWorkbook.Worksheets("Partnerek").Range("c" + Trim(Str(partnerujsor))).Value = ComboBox2.Text
    ThisWorkbook.Worksheets("Partnerek").Range("d" + Trim(Str(partnerujsor))).Value = TextBox3.Text
    ThisWorkbook.Worksheets("Partnerek").Range("e" + Trim(Str(partnerujsor))).Value = ComboBox1.Text
    kileptet = True
    End If

    End Sub

    ahol kiléptet=a probléma miatt bevezetett változó

    A futkározó vezérlő change-e:

    Private Sub ComboBox4_Change() 'postázás éve

    If kileptet = False Then Exit Sub

    If eloszor = True Then Exit Sub
    CommandButton3.Enabled = True
    CommandButton2.Enabled = True

    If ComboBox4.MatchFound = False And Len(ComboBox4.Value) > 0 Then
    hiba = MsgBox("A postázás éve négy jegyű és nem térhet el az aktuális évtől egy évvel többel!", vbCritical + vbOKOnly, "Dátum beviteli hiba")
    ComboBox4.ListIndex = -1
    Exit Sub
    End If

    If ComboBox4.ListIndex = -1 Then Exit Sub
    postev = ComboBox4.Value
    If Int(postev / 4) <> postev / 4 Then szoko = False Else szoko = True
    If postho = "02" Then
    If szoko = True Then
    ComboBox6.RowSource = "napló!h2:h30"
    If ComboBox6.ListIndex = -1 Then
    ComboBox6.ListIndex = 28
    postnap = ComboBox6.Text
    End If
    Else
    ComboBox6.RowSource = "napló!h2:h29"
    If ComboBox6.ListIndex = -1 Then
    ComboBox6.ListIndex = 27
    postnap = ComboBox6.Text
    End If
    End If
    End If


    End Sub

    Mint látható az első részletben szó sem esik a Combobox4-ről.
    Így esetleg valami ötlet???

    [ Szerkesztve ]

  • vilag

    tag

    válasz martonx #1690 üzenetére

    Bocs, hogy értetlen vagyok, de nem tanultam egyetemen a programozást.

    Egyébként meg Te sem értetted amit én írtam, mert nincs hibaüzenet, csak hibás működés amit ugyan elhárítottam (egy változó bevezetésével), csak az okát szeretném megtudni.

    A Combobox4 közvetlenül nincs excel mezőhöz kötve (már ha egyáltalán excel mezőre gondolsz). Csak közvetetten van excelmezőhöz kötve. Egy dátum évszáma, tehát a CB4,CB5,CB6 mezők értéke összefűzésre kerül és csak ez után íródik a tábla egy cellájába.
    A probléma csak annyi, hogy ez esetben ez nem történik meg, mert az tök más folyamat ami ettől független.

    Még egy dolog jutott eszembe. Az évszám a userform initializálásakor kap automatikusan értéket a trim(str(Year(date))) segítségével. Ez indukálhatja eseteg a change lefutását valamilyen módon?

  • vilag

    tag

    válasz martonx #1692 üzenetére

    Abban én is biztos vagyok, hogy valami nagyon egyszerű megoldása lesz a dolognak (ha egyszer megtalálom).

    Egyébként ha tudnád, hogy a debuggolást már hányszor játszottuk végig...
    Egyszerűen értetlenül állok a dolog előtt.

    Azért ha esetleg mégis megtalálom a megoldást megírom, hátha érdekel.

  • vilag

    tag

    válasz martonx #1692 üzenetére

    Ezt már komolyan nem hiszem el.

    Próbálok egy másik problémát orvosolni, erre azt veszem észre, hogy ugyan oda lyukadok ki, hogy a már említett vezérlő change elkezd futni.
    Épp az initializálást futtatja, aztán ennél a sornál átvált a CB7 Change-re:

    Sheets("napló").Range("j2").Value = Sheets("irszam").Range("a1").End(xlDown).Row

    Most mond meg nekem, hogy ez hogy a búbánatos francban váltja ki a CB7 Change lefutását????

  • vilag

    tag

    válasz martonx #1692 üzenetére

    Van egy rutin ami egy gomb megnyomására az egyes vezérlők tartalmát elkezdi egyesével kiirkálni az excel tábal megfelel cellájába.
    Most azt vettem észre, hogy a két évszámos vezérlő (CB4 és CB7) change minden egyes alkalommal lefut amikor egy-egy érték kiíródik az excel tábla.
    Esetleg ez megvilágosít nálad valamit?

  • vilag

    tag

    válasz ArchElf #1696 üzenetére

    Üdv!

    Úgy tűnik, hogy az automatikus számolás okozza ezt a fölösleges futkározást.
    Már csak abban legyetek a segítségemre, hogy magyarázzátok el, hogy ennek a bekapcsolása miért is okozza azt, hogy folyton lefut a change.

    Volna még egy olyan kérdésem, hogy a userform jobb felső sarkában található "X" gombot le lehet e valahogyan tiltani, mert az terminate-re futtatja a kódot, amin viszont már nem tudok megállítani, meg egyébként is okoz nekem más problémákat.

    Van nekem egy másik problémám is, bár könnyen meglehet, hogy nem kapcsolódik szorosan a VBA-hoz.
    A probléma a fájl biztonsági beállításoknál van. A már említett programocskát többen is használjuk, de azt szeretném elérni, hogy írásra csak bizonyos felhasználóknak legyen elérhető. Eddig még nincs is gond, csak az a baj, hogy az egyik felhasználó akinek írásra is engedélyezve van a fájl, valahogyan mindig saját tulajdonba veszi a fájlt (mikor ráment) és a biztonsági beállítások elszállnak, aminek egyenes következménye, hogy megint mindenki hozzáfér írásra.

    Tud nekem ebben valaki segíteni?

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1697 üzenetére

    Egyelőre úgy tűnik a kolléga megoldotta a kérdést, persze ha a felmerült kérdésre tudod a választ, azt szívesen fogadom.

    Addig is köszönöm a segítséget!!

  • vilag

    tag

    válasz martonx #1700 üzenetére

    Szia!

    A vezérlők valóban rá vannak kötve egy egy excel cellára, de nem azonnali hatállyal. A kiírás csak egy gomb megnyomása (és a megfelelő ellenőrzések futtatása) után történik meg.
    Nem tudom ez változtat e a nézőpontodon valamit.

    A többi kérdésben esetleg tudsz segíteni? (Előbbi hozzászólásom)

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1702 üzenetére

    Nagyon szépen köszönöm a megoldást!!!! Ezzel sok bonyodalomtól mentettél meg!

    Pedig mennyi féle megoldást kipróbáltunk mielőtt megkérdeztem....

    A biztonsági beállításokban nem tudsz esetles segíteni?

    A futkározással kapcsolatban annyit, hogy rendben, hogy működik a dolog hogy ki kell kapcsolni az automatikus újraszámolást, de szeretném megérteni a dolog miértjét.

    Szóval miért van ez így? Mi az oka?

  • vilag

    tag

    válasz martonx #1710 üzenetére

    Az addig világos is (eddig is az volt), hogy amikor az adott vezérlőhöz kötött cella értéke megváltozik akkor annak a change lefut. Ez eddig sem volt kérdés. Viszont ez a change lefut ha kell hanem, minden egyes alkalommal amikor valamelyik másik vezérlő értékének a kiírása történik, sőt ennek a vezérlőnek semmi köze az egészhez.

    [ Szerkesztve ]

  • vilag

    tag

    Üdv!

    A következő problémára keresek választ:

    Adott egy userformon több frame, melyek szintén több vezérlőt tartalmaznak.
    Egy közbenső frame léptetési sorrendben utolsó vezérlőjének exit subjába írtam meg egy vizsgálatot, amely ebből következőleg a vezérlőből való kilépéskor elvégez bizonyos ellenőrzést.
    A probléma azonban az, hogy ha ez az adott frame utolsó (aktív) vezérlője, akkor az exit sub nem fut le sem akkor ha tabbal közlekedem, sem pedig akkor ha egérrel. Akkor fut le az említett exit sub ha újra visszatérek a frambe (mondjuk egérkattintással)

    Valakinek van ötlete, hogy mi okozza ezt, illetve, hogy hogyan lehet meggyógyítani vagy kitrükközni?

    Előre is köszönöm!

    [ Szerkesztve ]

  • vilag

    tag

    válasz #90999040 #1761 üzenetére

    Igen, ezzel csak az a baj, hogy ez rengeteg plusz melót igényel, tekintve, hogy minden egyes vezérlő Enter() eseményéhez meg kellene írni.

    Az ActiveControl-al már próbákoztunk másik programban, hasonló ok miatt de az nem működik megfelelően.

    Ha pl. van egy formod amin belül van egy frame, amint belül pedig egy vezérlő és a kurzor a vezérlőben villog, tehát elvileg ugye a vezérlő az aktív, az ActiveControl azt fogja eredményül adni, hogy az aktív kontrol a userform.
    Ezúton is köszönjük neki. Így el nem tudom képzelni, hogy ez mire lehet jó.

    Egyébként találtunk akkor erre megoldást, de az hack volt.

    Szóval nekem valami jóval egyszerűbb megoldásra lenne szükségem, mert a framen belül és kívül is van jónéhány vezérlő.

    Üdv, vilag

  • vilag

    tag

    Sziasztok!

    Szembe kerültem egy eleddig megoldhatatlannak tűnő problémával.
    Több kiutat is látok belőle, csak nem tudom kivitelezhető e, illetve, hogy hogyan.

    Van nekem egy excelre épülő VBA projektem.
    Ez gyakorlatilag a hálózatról is futtatható kis programocska.

    Jelenleg úgy működik, hogy egy .bat fájlra mutató parancsikont tetettem ki a felhasználókkal. Ez a .bat fájl indítja az abban megadott helyen lévő excel fájlt.

    Ennek a .bat fájlra mutató parancsikonja azonban egy sima kötegfájl az ikonja.
    Ez meglehetősen ronda.
    Szeretném elérni valahogyan, hogy felhasználói beavatkozás nélkül legyen egy általam beállított kép az ikon.

    Nekem az alábbi megoldások jutottak eszembe:
    1. Ne egy .bat fájl, hanem egy .exe fájl tartalmazza az elérési utat (elvileg az .exe már tárolhat ikont is). Sajnos lövésem sincs hogyan lehet exe fájlt programozni, és hosszas keresgélés után sem jutottam előrébb.

    2. Magából a projektből kellene valahogyan egy exe fájlt csinálni (ha egyáltalán kehetséges)

    3. Egy .bat fájlt megírni úgy, hogy az elvégezze a felhasználó helyett a parancsikon kihelyezését az asztalra és az ikoncseré is. (ezt meg nem tudom megcsinálni).

    Szóval szeretnélek titeket megkérni, hogy akár más megoldással, vagy akár a fentiek közül valamelyik megoldás kivitelezésével segítsetek megoldani a problémát!

    Egy másik probléma, hogy a .bat fájl indításával egy parancsfájl ablak is megnyílik ami addig ott is marad míg az excel tábla nyitva van.
    Nem lehetne valahogy megoldani, hogy ez az excel fájl megnyitásakor bezáródjon, vagy legalább láthatatlan legyen?

    Köszönettel, volag

  • vilag

    tag

    válasz sztanozs #1791 üzenetére

    Először is köszönöm a válaszokat!

    Az első két megoldási javaslattal kapcsolatban nincs semmi tapasztalatom, szóval nem tudom, hogy vajon mekkora meló lenne egy több mint 5000 soros kód lefordítása.

    Valakinek valami tapasztalat ezzel kapcsolatban?

    A bat fájlra -mint írtam- azért van szükség jelenleg, mert ez a fájl tartalmazza az excel fájl nevére mutató hivatkozást. Vagyis inkább ez nyitja meg a benne megadott hivatkozást.
    Minderre azért van szükség, mert a fájl nevét időnként változtatom. Erre a verziószám változások miatt van szükség. Ebből kifolyólag pedig az arra mutató parancsikonok érvénytelenek lennének.

    Azért keresek olyan megoldást amivel magában a fájlban lehet tárolni a parancsikont, vagy automatizálni annak lecserélését, mert a hálózat (illetve a program) felhasználóit 100 km is elválasztja egymástól, így nem mehetek oda minden egyes géphez és végezhetem el én az ikoncserét
    Azt meg ne is mondjam, hogy a felhasználók milyen szinten állnak informatikából...
    Vagy aki meg ért is hozzá, az esetleg tesz rá...

  • vilag

    tag

    válasz martonx #1792 üzenetére

    A meglévő program átfordítása mekkora erőfeszítést igényelne vajon?
    Illetve még ha le is fordítom, minden gépen menne vajon vagy esetleg kell hogy legyen hozzá telepítve valamilyen program, hogy fusson?

    Utóbbit azért kérdezem, mert a hálózatban nem rendelkezem rendszergazda jogosultságokkal. (legalább is nem egészen legálisan :)) )

  • vilag

    tag

    válasz martonx #1795 üzenetére

    Minden céges gépen XP van.
    Sajnos azonban a legtöbb gépen még az SP3 sincs fent, nemhogy a .net keretrendszer...

    De azért lehet, hogy ha más nem kíváncsiságból megpróbálom majd átfordítani.
    A későbbi futtatáshoz is kell majd gondolom a keretrendszer gondolom.
    Azt azonban nem tudom, hogy ha abból exe-t csinálok akkor is kell? (mintha azt írtátok volna, hogy abból már lehet exe-t csinálni.)

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1799 üzenetére

    Sajnos akkor mindkét megoldást (VB6, .NET) el kell vetnem, mert még ha tudom is a rendszergazda jelszót, nem lesz alkalmam feltenni minden gépre.
    Még amik helyben vannak, azok csak-csak, mert mondjuk a kora reggeli órákban megcsinálom mikor nincs itt senki, de a másik két központban lévő gépekre nem tudom feltenni. Elmenni nem tudok (na meg nem is akarok), a gépneveket meg nem tudom.

    Innentől meg a rendszergazda jóindulatán múlik, hogy hajlandó e ennyit vacakolni....
    de ahogy ismerem első szóra biztos nem csinálja meg.

  • vilag

    tag

    válasz sztanozs #1801 üzenetére

    Van esetleg valami hasonló command file mintád?

    Valami hasonlót kerestem igazából. Bár sejtem, hogy egy file ikoncserét nemigen lehet belőle levezérelni.
    Már az is haladás volna ha egy asztali parancsikon elhelyezést le tudnék vele vezérelni.

    Egyébként van domain, szerver meg minden Istennyila.

    Azért az vicces lenne ha a rendszergazda gépén is megjelenne a kis telepítőablak :D

  • vilag

    tag

    válasz martonx #1802 üzenetére

    Bár a mi rendszergazdánk a 90%-ba esik (nem ügyes annyira), azért meg is kell védenem, mert csak mellékesen rendszergazda, emellett ugyan olyan ügyintéző mint bármelyikünk a cégnél. A nemakarás, így betudható a rengeteg ügynek.

    Mondjuk ha sokat macerálom valami miatt általában kötélnek áll :)

  • vilag

    tag

    Sziasztok!

    Egy újabb problémával találtam szemben magamat.

    A probléma az lenne, hogy egy excel dokumentumot úgy akarok megnyitni, hogy egyből a userform jelenjen meg, viszont (mivel ez nem túl nagy) a háttérben maga az extel tábla ne is látszódjon.

    A googliban kutakodva meg is találtam amire szükségem van, de sajnos nem egészen úgy történik minden ahogyan én szeretném.

    Már több megoldással is próbálkoztam de eddig csak félsikert értem el mindegyikkel.
    1.

    Private Sub Workbook_Open()

    Application.WindowState = xlMinimized
    UserForm1.Show

    End Sub

    Ebben az esetben a munkafüzet megnyitásakor az valóban a tálcára kerül, viszont a userform-al együtt.

    2.

    Private Sub CommandButton1_Click()

    Application.WindowState = xlMinimized
    UserForm1.Show

    End Sub

    Ellenben ha egy úgy van megcsinálva, hogy a munkafüzetben van egy gomb, amihez ugyan ez a kód van beírva, akkor a gombnyomásra úgy működik ahogyan kell.
    Csak ugye pont ezt szeretném elkerülni, mert semmi szükség még egy felesleges gombnyomásra.

    -----------------
    Próbáltam már magából a userform initializálásból megcsinálni, de az eredmény ugyan az mint a 2. esetben.
    Próbáltam már a userform initializálásból meghívni a kattintást, de az nem tetszett neki.
    Próbáltam már az első programkódot megcserélni, azaz előbb nyitni a userformot aztán minimalizálni, de ekkor nem történik semmi.
    Próbáltam már az első verzió után valahogyan aktiválni a munkafüzetet, de ez sem sikerült.

    Van esetleg valakinek valami használható megoldása?

    ------------------

    Lenne még egy olyan kérdésem, hogy valahogyan ki lehet e nyerni, hogy az altív munkafüzeten kívül van e még nyitva másiki munkafüzet?
    Kérdezem ezt azért, mert mondjuk egy kilépés gombnál akkor le tudnám vezérelni, hogy csak az aktív munkafüzetet zárja e be, vagy az egész excelt.
    Így elkerülhető lenne, hogy a felhasználónál nyitva lévő (és esetleg mentetlen) más munkafüzetet is bezárjak. (Az application.displayalerts direkt falsra van állítva).

    Előre is köszönöm!

    [ Szerkesztve ]

  • vilag

    tag

    válasz sztanozs #1833 üzenetére

    Igazából csak annyit szeretnék elérni, hogy az excel megnyitása után azonnal csakis a userform látszódjon. Se a munkalap, se pedig az üres excel ablak ne látszódjon, csak és kizárólag a userform.

    A táblába jelen esetben semmiféle kivétel-visszaírás nem történik!
    Gyakorlatilag kódból fut minden.
    Az egész csak annyit csinál, hogy gombnyomásra kiválasztott fájlt/fájlokat bizonyos helyre másol. Kilépéskori mentésre semmi szükség.
    Rendben, valamint egy kilépés gomb.

    --------------------

    A több munkafüzetes problémára esetleg valami megoldás?

    Üdv, vilag

  • vilag

    tag

    válasz sztanozs #1835 üzenetére

    Hali!

    Az ötleted sokat segített a modul tekintetében.
    a Show Modal = False az jó volt, de Window Position tulajdonsága nincs a userformnak.

    Végül is úgy sikerült megoldani, hogy ötvöztem az általad javasoltat a saját ötlettel, azaz a Show Modal-t Falsra állítottam, illetve a userform initializáláshoz beírtam ezt:
    Application.WindowState = xlMinimized

    A kettő együtt végül is azt csinálja amit szerettem volna :)

    A több Workbook-ra kínált megoldással még nem volt időm foglalatoskodni, mert a másik sürgősebb.

    Azzal igazából azt szeretném megoldani, hogy amikor a userformon megnyomom a kilépés gombot, akkor megvizsgálja, hogy van e nyitva másik munkafüzet is vagy sem. Ekkor kettéválna a folyamat:
    1. Az eredmény az, hogy nincs nyitva másik munkafüzet -> zárja be az egész excelt
    2. Az eredmény az, hogy van nyitva másik munkafüzet -> csak ezt a munkafüzetet zárja be.

    A két különböző bezárást le tudom vezérelni, igazából a vizsgálatot nem tudtam megoldani.

    Remélem az általad vázoltal meg tudom majd oldani.

    Üdv, vilag

    [ Szerkesztve ]

  • vilag

    tag

    válasz sztanozs #1835 üzenetére

    Üdv!

    Csináltam magamnak egy kis időt és megnéztem a több munkafüzetes megoldást is.

    A megoldás működik...csak fordítva :)

    Igazából azt írtad, hogy ha csak egy munkafüzet van nyitva, akkor csak a munkafüzetet zárja be, és ha több akkor pedig az egész programot :)

    De a problémát megoldottam.
    A hiba a következő volt:

    Private Sub CommandButton1_Click()
    Dim wcount As Integer
    Dim twb As Workbook
    wcount = 0
    For Each twb In Application.Workbooks
    wcount = wcount + 1
    Next
    If wcount = 1 Then helyette 0 kell
    Application.Quit
    Else
    Application.DisplayAlerts = False
    wb.Close False
    End If
    End Sub

    Valamint a wb.Close -ra hibát dob, így azt átírtam twb-re (de így sem működött), így átírtam ThisWorkbook-ra.
    Meg annyi, hogy én ez után a hibajelzést újra true-ra állítottam, hogy a nyitva maradt munkafüzetekben működjön. Bár lehet, hogy ez csak adott munkafüzetre vonatkozik.
    Az igazat megvallva ezt nem tudom.

    Mindent egybevéve, nagyon köszönöm a segítséget, most több programomba is beépítem a megoldást.

    Üdv, vilag

  • vilag

    tag

    válasz sztanozs #1850 üzenetére

    Végül is eddig úgy tűnik, hogy a következő verziónál maradok:

    Workbook:
    Private Sub Workbook_Open()

    UserForm1.Show

    End Sub

    Userform:

    Private Sub CommandButton2_Click() 'Kilépés gomb

    mfszam = 0 'mfszam=munkafüzetek száma
    For Each twb In Application.Workbooks
    mfszam = mfszam + 1
    Next
    If mfszam = 0 Then
    Application.Quit
    Else
    Application.DisplayAlerts = False
    Unload Me
    ThisWorkbook.Close
    Application.DisplayAlerts = True
    End If
    Application.WindowState = xlNormal

    End Sub

    Private Sub UserForm_Terminate()

    Application.DisplayAlerts = True
    Application.WindowState = xlNormal

    End Sub

    Ez lett a végleges (legalább is most annak tűnő) megoldás.
    Még betettem egy Unload Me-t, mert így lefut a lejjebbi részben írt Terminate is, amivel el tudom érni, hogy a hibajelzést visszakapcsoljam, illetve, hogy újra nagy méretű legyen a megnyitva maradt munkafüzet (már persze ha több volt nyitva). Ha csak egy volt nyitva az sem gond, mert felugrik és aztán bezáródik az egész.

    A dim-eket kihagytam, mert anélkül is megy, illetve a változó nevét megváltoztattam, mert nekem így beszédesebb :)

    Üdv, vilag

  • vilag

    tag

    válasz sztanozs #1852 üzenetére

    Üdv!

    Kicsit utánaolvastam az Option Explicit-nek, mert megmondom őszintén nem is hallottam róla.
    A meglévő kevéske tudásomat a kollégámtól, innen, általánosságban az internetről, illetve saját kútfőböl szereztem. Vélhetően ezért nem hallottam róla.

    Szóval utánaolvastam, és szerintem nem fogom bekapcsolni (legalább is ebben a programban tuti nem), mert rövidke a program és a tárgyalt kódon kívül mindössze egy változó van, így igazán nincs is értelme.

    Meg rosszat is olvastam (1 hsz):
    [link]

    Bár nem olvastam végig, így könnyen lehet, hogy nem is ez okozta a problémát.

    Üdv, vilag

    Szerk: Annyit azonban észrevettem, hogy a fenti módon megoldott kilépéssel előállta az a helyzet, hogy a personal.xls-t is bezárja, így a kipakolt saját menük, illetve beállítások elszállnak.
    Ezt nem lehet valahogyan elkerülni????

    [ Szerkesztve ]

  • vilag

    tag

    válasz sztanozs #1854 üzenetére

    Üdv!

    Felmerült még egy probléma.

    Az a baj, hogy nem tudom, hogy a felhasználók közül ki az akinek van personal.xls és esetleg rendelkezik az általunk írt sajatfuggvenyek.xla-val.
    Ebből kifolyólag sajnos nem tudom előre meghatározni, hogy melyik az ominózus munkafüzetszám amihez viszonyítani tudnám, hogy van e még nyitva munkafüzet vagy sem.

    Tudunk esetleg beépíteni valami erre vonatkozó vizsgálatot?
    Esetleg vizsgáljuk meg, hogy megnyitáskor mennyi munkafüzet van nyitva és azt vegyük bázisértéknek?
    Bár lehet, hogy ez sem jó, mert még így sem tudjuk megmondani, hogy az valóban egy látható munkafüzet e vagy az előbb említett kettő valamelyike...

    Próbáljunk meg esetleg ezekre a munkafüzet nevekre keresni és kivonni a számukat a bázisszámból?
    Valami ötlet esetleg?

    Üdv, vilag

  • vilag

    tag

    válasz sztanozs #1856 üzenetére

    Ez lett a végső (nek tűnő) megoldás:

    For Each twb In Application.Workbooks
    wbnev = twb.Name
    If wbnev <> "PERSONAL.XLS" And wbnev <> ThisWorkbook.Name Then
    GoTo bezar
    End If
    Next

    kilep:
    Application.Quit
    GoTo vege
    bezar:
    Application.DisplayAlerts = False
    Unload Me
    ThisWorkbook.Close

    vege:
    Application.WindowState = xlMaximized

    Jelenleg úgy tűnik, hogy minden gond nélkül működik. mondom ezt néhány teszt után.
    Remélem most már így is marad.

    Van azonban egy másik kérdésem:
    A szóban forgó project le van jelszavazva a basicben azon oknál fogva, hogy a mezei felhasználó ne tévedhessen debug módba.
    Van a felhasználói felületen egy gomb aminek a jelentősége most megnőtt (eddig nem is használtam). Ez a gomb arra szolgál, hogy a userformot bezárja és megnyissa a basicet.

    A probléma az lenne, hogy a project kibontásához jelszót kér (mivel ugye lejelszavaztam).

    Szóval a kérdés az, hogy lehet e automatizálni a pojecthez tartozó jelszóbeadást?

    Természetesen a userformon lévő gomb jelszavazva van.

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1858 üzenetére

    Csupán érdekelnek (legalább is számomra) új megoldások.
    Nem tudom ez miért baj?

  • vilag

    tag

    válasz martonx #1860 üzenetére

    Üdv!

    Azt mondod megérettem a továbblépésre?

    Mégis milyen fejlesztői környezetet javasolnál?

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1862 üzenetére

    Ajánlották még a CSharpot is.

    Arról mi a véleményed, illetve mi a lényegi különbség közöttük?

  • vilag

    tag

    Üdv!

    Lenne egy olyan kérdésem, hogy valamely vezérlő RowSource-át be lehet e állítani úgy, hogy nem cella neveket adok meg hanem oszlop és sorszámokat?

    Pl.: Combobox1.RowSource = "napló!a2:b5" helyett "napló!xy:xy", ahol x=oszlopszám és y=sorszám

    Azért lenne szükséges, hogy ha esetleg a forrástáblába be akarok szúrni egy oszlopot vagy bővíteni akarom a sorok számát, akkor ne kelljen az egyes vezérlők tulajdonságait folyton kézzel áligatni.

    Az már megvan, hogy a kívánt oszlop fejlécét megkeresve az adott táblában kinyerem az oszlop sorszámát az
    Application.Worksheetfunction.Match-el.
    Vagy olyan megoldás is érdekel, amelyben a keresés eredményeként nem oszlopszámot hanem oszlonevet kapok vissza.
    Ez talán még jobb volna.

    Lehetséges?
    Ha igen, akkor hogyan?

    Köszönöm!

    Üdv, vilag

  • vilag

    tag

    válasz martonx #1891 üzenetére

    Oszlopszámmal azt hogyan lehet megcsinálni, mert én már próbáltam néhányféleképpen.

    Esetleg tudnád egy példával illusztrálni?

    Üdv, vilag

  • vilag

    tag

    válasz sztanozs #1893 üzenetére

    Üdv!

    Köszönöm a segítséget!
    Holnap remélem eljutok odáig, hogy kis is tudom próbálni működik e a dolog, mert ma nemigen jut/jutott rá időm.

    vilag

  • vilag

    tag

    válasz Bobrooney #1912 üzenetére

    Ez mondjuk engem is érdekelne...várjuk a választ.
    Igazából én másra használnám, de hasonló metódussal.

Új hozzászólás Aktív témák