- Átjutottak a Ciscón, betörtek a kormányok hálózataiba
- Ubiquiti hálózati eszközök
- Windows 11
- Linux kezdőknek
- Hálózati / IP kamera
- A Coca-Cola következő nagy újítása az AI
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Windows 10
- Adobe Lightroom topic
- Kínában túl sok az EV, fokozódik az árháború
Új hozzászólás Aktív témák
-
zolynet
addikt
Ide is beteszem, hátha tudtok útbaigazítást adni: weblapról adat leszedés
Life is too short to stay stock!
-
sztanozs
veterán
válasz zolynet #2554 üzenetére
Szedd le így:
Set htmlDoc = CreateObject("HTMLFile")
urlString = "http://www.nfh.hu/pozitiv-lista?title=&field_shop_value=&page=0"
Set httpScraper = CreateObject("Microsoft.XMLHTTP")
httpScraper.Open "GET", urlString, False
httpScraper.send
If httpScraper.statusText = "OK" Then
htmlDoc.body.innerHTML = httpScraper.responseText
loadForm = True
Else
loadForm = False
Set htmlDoc = Nothing
Exit Function
End If
Set httpScraper = NothingÉs DOM-mal feldolgozod.
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
válasz zolynet #2556 üzenetére
Mivel SUB-ba raktad, így Exit Sub kell Exit Function helyett.
BTW ez a funkció az egész weblapot leszedi, így neked kell kézzel (kóddal) navigálnod a DOM-ban és kiszedni az url-eket.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...
-
Onishi
tag
Sziasztok!
Előre is bocs a kisregényért.
Visual Basic Script-ben történő soros port kezeléssel kapcsolatos problémába ütköztem. Hátha van köztetek olyan aki jártas ebben.
Egy fényújságot kellene vezérelnem, amin állandóan változó adatokat kellene megjelenítenem. A scripttel amit írtam, 5-20 másodperc közötti időtartamonként küldök ki új szöveget rá.
2 problémába ütköztem:1.) A script ilyen szempontból jól működik, küldi is az adatokat szépen, de van amikor egyszercsak meghülyül a soros port kezelés és elkezdi megállás nélkül ontani magából a teljesen értelmetlen adatokat (többnyire csak 0-ákat, de van hogy random karaktereket), amiket a scriptben biztos, hogy nem generálok, és olyan sebességgel történik mindez, amit szintén nem küldök a scriptből, hiszen azt másodpercenként hívom meg, de mint már említettem leggyorsabb kiküldés is minimum 5 másodpercenként van. Szóval valami behülyül, és ezt csak úgy tudom megfékezni, hogy leállítom a scriptet és a soros drivert is újraindítom (soros-ethernet átalakító van a pc és fényújság között). Gondoltam az utóbbira is, hogy annak van valami baja, de a gép saját soros portján küldve az adatokat szintén előjön a hibajelenség.
2.) Ha a fényújságot tegyük fel áramtalanítják, vagy nem elérhető, attól még a script küldi az adakat, ami telíti a buffert, majd ha a fényújságot visszakapcsolják, akkor az összegyűlt adatokat elkezdi kiküldeni megállás nélkül, amit a fényújság nem tud értelmezni és meghülyül tőle. Erre valószínű jó lenne az OutBufferCount = 0 parancs, de ez csak MSCOMM32-vel működne, de azt nem tudom használni VBScript alól, mert licenszet kér. Helyette az ingyenesen letölthető NetCommOCX-et használom, de az nem tudja ezt a parancsot, vagy legalábbis nem működik.
Bemásolom a soros port kezelés részt a scriptből:
Set objComport = CreateObject("NETCommOCX.NETComm")
objComport.CommPort = 2
objComport.Settings = "9600,N,8,N"
objComport.PortOpen = True
objComport.OutBufferCount = 0
objComport.Output = Chr(21)
objComport.Output = Chr(18)
objComport.Output = Chr(5)
'Küldendő szöveg:
objComport.Output = fenyero + out + kifutas
'Lezárás:
objComport.Output = Chr(254)
objComport.Output = Chr(lezaras)
objComport.PortOpen = FalseElőször a sima OpenTextFile-eljárással próbálkoztam, de az állandóan átállítja a soros portot 1200baud-ra, holott nekem 9600 kellene. MSCOMM32 nem működik, így marad a NetCommOCX verzió. Mást eljárást nem találtam.
Esetleg valaki belefutott már ilyen problémákba? Van esetleg valamilyen tippetek?
Előre is köszönöm.
-
sztanozs
veterán
válasz martonx #2560 üzenetére
Én VB6-ból vezéreltem utoljára (mscom-mal) soros porti modemet... (ja nem pythonból linux alatt tavaly )
[ 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...
-
Dtomka
veterán
Tud valaki megoldást arra, hogy a Office 2013 Excel-VBA ban hogyan lehet módosítani a nyelvet? Már elég sok időt rászántam, de nem találtam megoldást
Köszönöm -
Soulfly842
addikt
Sziasztok!
Bármilyen office-t telepítek fel (win 8.1 alatt), amikor egy táblázatba akarok feltölteni adatokat azonnal átdob a Visual Basic-be és emiatt lehetetlen kezelnem a táblázatot. A korábbi Windowsoknál nem volt ilyen probléma... Tudtok ebben segíteni, hogy hogy tudom ezt lelőni, hogy az adott táblázatot tudjam normálisan kezelni?
Előre is köszönöm!
-
Kija
aktív tag
Sziasztok!
Excel VBA-ban írtam egy scriptet ami belép egy FTP szerverre és oda feltölt egy file-t, majd letölt egyet.
Az átlagsebességeket akarom egy-egy cellába beírni automatikusan az FTP kapcsolat lezárása után.
Ehhez az FTP munkamenetet egy txt file-ba küldöm és majd azt fogom feldolgozni.
A gond ott van, hogy az eredményeket tartalmazó szöveges file-ban pont az eredmények adatok elcsúsztak.Már a helyi könyvtár megadásánál csúszás van. Mi okozhatja?
-
Apollo17hu
őstag
Sziasztok!
Excel VBA-ban olyan problémába ütköztem, amihez már nem elegendőek az Űrlap-vezérlőelemek, hanem ActiveX-vezérlőkre van szükség. Milyen hátránya lehet, ha ActiveX-vezérlőkkel pakolom tele az Excel-fájlomat?
-
sztanozs
veterán
válasz Apollo17hu #2571 üzenetére
kompatibilitási problémák léphetnek fel, ha terjeszteni szeretnéd
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...
-
Delila_1
veterán
válasz Apollo17hu #2571 üzenetére
Mindenképp kapcsold be a bővítményeknél az Analysis Toolpak, és az Analysis Toolpak VBA nevűeket.
Ha más gépeken is alkalmazod a füzetedet, ott is be kell kapcsolnod. Az első a füzetben tesz elérhetővé egy rakás új függvényt, a második a VBA-ban kell a vezérlők kezeléséhez szükséges utasítások eléréséhez.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Apollo17hu
őstag
válasz Delila_1 #2573 üzenetére
Ez a két bővítmény nálam most az "Inaktív alkalmazásbővítmények" kategóriában van. Ennek ellenére tudom használni a szükséges funkciót (konkrétan a MouseMove event az).
sztanozs: Igen, terjeszteném. A gépek Excel-verziója és -beállítása azonos, de nem tudom, kell-e engedélyezni rajtuk bármit is vagy sem. Ha kell, akkor elfelejtem az ActiveX-vezérlőket. (A makrók engedélyezését szerencsére az Excel értesítése megoldja, ActiveX-re nem láttam ilyet.)
-
Kija
aktív tag
Ebbe a kompatibilitási problémába én is belefutottam ActiveX vezérlőelemmel (ComboBox).
Viszont ha Űrlapvezérlő elem legördülő listát hozok létre, akkor meg ilyen nevet ad neki: Lenyíló 13.
Hogyan lehet erre hivatkozni (space van benne illetve ékezetes betűk), vagy hol lehet átnevezni?
Egyáltalán hogyan lehet egy változóba rakni VBA-ban az értékét, ha megváltoztatják? -
belaur
tag
Sziasztok,
Van egy Excelem amiben egy makró megnyit egy másik excelt, annak egy táblájáról információt kér be (konkértan, hogy melyik az utolsó sor és oszlop) majd azt beirja az első táblázatba. Mi arra a megoldás, hogy ez akkor is működjön, ha a második excel éppen nyitva van (azaz Read Onlyba nyissa meg a makró és úgy olvasson ki adatot belőle)
Köszi!
-
Kija
aktív tag
Még egy kérdés:
Kiraktam egy gombot, amit ha megnyomok akkor csatlakozik az Internethez a PC a cmdline-t meghíva a RASDIAL-al.
Viszont két felhasználói név jelszó párossal akarom ezt használni.
Ehhez két választógombot raktam ki.
Ha bejelölöm valamelyiket, akkor az egy-egy string változónak a felhasználói nevet (ami ugye egy email cím) és a jelszót adja értékül.
Ez működik is viszont ha bejelölöm valamelyik választógombot akkor automatikusan megnyitja az Outlook levelezőt és erre az email címre mint címzett nyit egy új emailt.
Arra már rájöttem, hogy a választó gomb felirata okozza ezt. Mindkettőnek a felhasználói név (ami itt ugye egy email cím) a felirata. ha ezt átírom másra, akkor is az eredeti email címmel nyit egy új üzenetet...
Ezt szeretném kiküszöbölni.
Van ötletetek hogyan?
Sub Választógomb1_Kattintás()
userstr = "valami@valahol.hu"
passwstr = "password1"
End Sub
Sub Választógomb2_Kattintás()
userstr = "masvalaki@masvalahol.hu"
passwstr = "password2"
End Sub -
Henrico
tag
Szeretném a segítségeteket kérni. Adott ez a kis minta program. A célom, hogy a rendszer felállása után fél perccel elindítson egy programot...
Amennyiben azt szeretném, hogy ez a program kis ablakban fusson (tehát maradjon a tálcán), mivel kellene még bővítenem?SecondsToDelay = "30"
ProgramToRun = "program amit futtatni szeretnék"
Wscript.Sleep(SecondsToDelay * 1000)
Prog = Chr(34) & ProgramToRun & Chr(34)
CreateObject("WScript.Shell").Run(Prog)Köszi!
-
Henrico
tag
válasz martonx #2584 üzenetére
Aha.. csodálatos... feladatütemező.. csak a legegyszerűbb megoldás nem jutott eszembe.... Köszi!
A célom, hogy a rendszer elindulása után x idő elteltével indítson el vmware playerrel egy virtuális gépet és tegye le a tálcára, hogy ne is látszódjon...
Nézegettem a feladatütemezőt, de az igazat megvallva erre ott sem látom a megoldást, mármint az ablak lecsukására... tudnál segíteni?
Köszönöm.. és bocs, mert akkor ez itt már off...
[ Szerkesztve ]
-
salmiakki
tag
Sziasztok!
Adott egy olyan helyzet, amikor egy új Control kerül a programba, és szeretném megnézni, hogy az takarásban van-e azon többi Control-al, melyek Top, Left, Height és Width adatai állnak rendelkezésemre.
Hogyan tudnám ezt a lehető legegyszerűbben kivitelezni?Jelenlegi kód:
Dim Collision As Boolean = False
Dim _top As Integer = MovingObject.top
Dim _left As Integer = MovingObject.left
Dim _width As Integer = MovingObject.width
Dim _height As Integer = MovingObject.height
For i As Integer = 0 To Objects.Rows.Count - 1
Dim oTop As Integer = Objects.Rows(i).Cells("top").Value
Dim oLeft As Integer = Objects.Rows(i).Cells("top").Value
Dim oWidth As Integer = Objects.Rows(i).Cells("width").Value
Dim oHeight As Integer = Objects.Rows(i).Cells("height").Value
Next
If Collision = True Then
MovingObject.BackColor = Color.Red
Else
MovingObject.BackColor = Color.ForestGreen
End If'_ 'előtaggal jelölt változók az újonnan programba kerülő Control adatai.
'o' előtaggal jelöl változók a meglévő Control-ok adatai.Segítségeteket előre is köszönöm!
[ Szerkesztve ]
-
sztanozs
veterán
válasz salmiakki #2587 üzenetére
Próbáld meg lerajzolni azokat a helyzeteket, amikor egy kontrol takar egy másikat és ez alapján meglesznek a megoldások.
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...
-
Delila_1
veterán
válasz salmiakki #2587 üzenetére
A lenti makró az újonnan betett objektum helyzetét vizsgálja, de csak az előtte berakott utolsóhoz képest. Ha az utolsó előttit takarja, üzenetet küld. Az ábrán kiemelt rész mutatja, hogy olyan esetben is jelez, ha látszólag nincs takarás, de a valóságban igen.
Sub Takar_e()
Dim elozo As Integer
Dim B_uj As Single, J_uj As Single, F_uj As Single, A_uj As Single
Dim B_elozo As Single, J_elozo As Single, F_elozo As Single, A_elozo As Single
Dim Vizsz As Boolean, Fugg As Boolean
Vizsz = False: Fugg = False
'Új alakzat adatai
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
B_uj = .Left 'bal szél
J_uj = .Left + .Width 'jobb szél
F_uj = .Top 'felső pont
A_uj = .Height + .Top 'alsó pont
End With
'Előző alakzat adatai
elozo = ActiveSheet.Shapes.Count - 1
With ActiveSheet.Shapes(elozo)
B_elozo = .Left 'bal szél
J_elozo = .Left + .Width 'jobb szél
F_elozo = .Top 'felső pont
A_elozo = .Top + .Height 'alsó pont
End With
If B_uj >= B_elozo And B_uj <= J_elozo Then Vizsz = True
If J_uj >= B_elozo And J_uj <= J_elozo Then Vizsz = True
If F_uj >= F_elozo And F_uj <= A_elozo Then Fugg = True
If A_uj >= F_elozo And A_uj <= A_elozo Then Fugg = True
If Vizsz = True And Fugg = True Then
MsgBox "Az előző (" & ActiveSheet.Shapes(elozo).Name & " nevű) objektum takarásban van", vbExclamation
Else: MsgBox "Nincs takarásban az előző objektum"
End If
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
veterán
válasz salmiakki #2587 üzenetére
Igaz, hogy Control-t kérdeztél, de ez a makró az eddig felvitt legalsó és jobb szélső elemek bármilyen objektum alá-, és tőle jobbra 5 ponttal helyezi az új objektumot.
Sub UjElem()
Dim Bal As Single, Lent As Single, i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If .Left + .Width > Bal Then Bal = .Left + .Width + 5
If .Top + .Height > Lent Then Lent = .Top + .Height + 5
End With
Next
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Bal, Lent, 70#, 58#).Select
End SubAz
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Bal, Lent, 70#, 58#).Select
sorban kell meghatároznod az új elem típusát. A két utolsó érték helyére írd be a kívánt szélességet, és magasságot. Ez most egy téglalapot tesz be, de ha a sor helyett ezt írod:
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Bal, Top:=Lent, Width:=102.75, Height:=25.5).Selectakkor egy beviteli mezőt tesz a megfelelő helyre.
Ez meg szépen egymás alá teszi a beviteli mezőket:
Sub mm()
Dim Bal As Single, Lent As Single, i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If .Left > Bal Then Bal = .Left
If .Top + .Height > Lent Then Lent = .Top + .Height + 3
End With
Next
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Bal, Top:=Lent, Width:=69.75, Height:=24).Select
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
salmiakki
tag
válasz Delila_1 #2590 üzenetére
Az alábbi képen látszik maga a program. Mint írtam, az objektumoknak csak a Left, Top, Width és Height adatai vannak meg, mellesleg végtelen objectről lehet szó, szóval amit az 1. válaszban írtál, hogy csak a legutóbbi objectet nézni, nem hinném, hogy jó lesz.
Továbbá csak hogy egyértelmű legyen, az A esetben jelölt fedést szeretném csak ellenőrizni, ha 2 object érintkezik (B eset), azt nem feltétlen. -
Delila_1
veterán
válasz salmiakki #2591 üzenetére
Azt írd le, hogy kerülnek a lapra az objektumok. Hátha akkor könnyebb ellenőrizni a helyzetüket, illetve eleve jó helyre lehetne tenni.
A már meglévő ábráknál nagyon sok, egymást ütő feltételt kell vizsgálni.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
-
fPApi
őstag
Egy word dokumentumba beágyazott excel táblát szeretnék elérni VB-ből. Ha csak egy lenne nem lenne gond, viszont több beágyazott táblám van a fájlban. Hogyan tudom megnézni az adott beágyazott tábla hivatkozási számát/nevét?
-
lomajpure
csendes tag
Üdv!
Egy kis segítségre lenne szükségem. Csinálok egy karbantartás tervező programot. Elég kezdő vagyok a területen, remélem nem írok hülye$égeket.. Azt szeretném, hogy a program a felhasználókat, illetve minden adatot (gép, alkatrész, karbantartási idő, megjegyzések, stb...) egy excel táblában tárolja/olvassa. Mondjuk első 20 sor a felhasználóké, a többi pedig a gépeké. Hasonló eljárásról van valami anyag valamerre? Végülis adatbázisként szeretném használni, amit a program olvas különböző szűrésekkel, illetve felhasználó jogtól függően ír.
Előre is köszönöm!Kuss! P#cs@ba! Pofádat befogod! A te dolgod a szülés! ~ Eric Cartman
-
martonx
veterán
-
fPApi
őstag
Erre senkinek nincs ötlete?
-
lomajpure
csendes tag
válasz martonx #2598 üzenetére
Köszi! Végülis elvetettem.. viszont van egy másik probléma. A lényeg az lenne, hogy betöltéskor átnézzen egy bizonyos könyvtárat, mondjuk c:\temp. Ott vannak fileok, legyen mondjuk fac_gyál.data, fac_pest.data. Ha léteznek a fájlok, az ablakban megjelenik hozzá egy option button (dinamikusan, ahány város...). A fájl tartalmazna pár adatot (cella 1-10, sor 1-10, gép 1-10)
pl.:
cella1, sor1, gép1
cella1, sor1, gép2
cella1, sor1, gép3Az is kellene, hogy ezt az első kb. 3 sort beolvassa, ha létezik a fájl, és rákattintva az option buttonra előjönne a többi lehetőség is. PL. Kiválasztom gyált, akkor a fájltartalom alapján felajánlott 1-10-es cellától eljutok valamelyik gépig option buttonokkal.. Előre is köszi a segítséget!
Kuss! P#cs@ba! Pofádat befogod! A te dolgod a szülés! ~ Eric Cartman
Új hozzászólás Aktív témák
- Lelövi a Roccat márkanevet a Turtle Beach
- Politika
- Projektor topic
- World of Tanks - MMO
- Xiaomi 14 Ultra - Leica hercegnő
- Bluetooth hangszórók
- Napelem - 100%-os támogatású pályázat
- Átjutottak a Ciscón, betörtek a kormányok hálózataiba
- Ubiquiti hálózati eszközök
- Futás, futópályák
- További aktív témák...