Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- WireGuard VPN a mindennapokra
- GoodSpeed: Ágymatrac keresési kálvária
- sh4d0w: StarWars: Felismerés
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
válasz
Mzmatus
#3194
üzenetére
Claude szerint:
Method 1: Using AutoCAD's GetOpenFilenameSub OpenFileDialog()
Dim fileName As Variant
Dim filterString As String' Define file filter (format: "Description|*.ext")
filterString = "DWG Files (*.dwg)|*.dwg|All Files (*.*)|*.*"' Show open file dialog
fileName = ThisDrawing.Application.GetOpenFilename( _
"Select a file", _
filterString, _
"dwg", _
0)' Check if user cancelled
If VarType(fileName) <> vbBoolean Then
MsgBox "Selected file: " & fileName
' Do something with the file path
Else
MsgBox "No file selected"
End If
End SubUgy tunik ez se letezik. Ezzel lehet esetleg beprobalkozni?
Sub OpenFileUsingCommand()
Dim fileName As String
ThisDrawing.SendCommand "(setq myfile (getfiled " & Chr(34) & "Select File" & Chr(34) & " " & Chr(34) & Chr(34) & " " & Chr(34) & "dwg" & Chr(34) & " 0))" & vbCr
' Then retrieve the variable value
End SubMethod 2 - ugyanaz mint a WinApi, amit korabban Fire/SOUL/CD irt...
Method 3 - .NET-ben van OpenFile Dialog, csak ahoz a kodot at kell irni .NET-re
https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-ManagedRefGuide-Autodesk_AutoCAD_Windows_OpenFileDialog -
-
válasz
pmonitor
#3164
üzenetére
Nem egy kontrolhoz akar hozzáférni (amit amúgy kézzel lehet publikusnak is deklarálni, csak az IDE rakja alapból Private-ba) - ha elolvastad volna a kérdést -, hanem egy publikus változóhoz.
Amúgy tervezésileg tényleg katyvasz, hogy egy BGW egy másik formon levő függvényt használ, de egy változóhoz vagy függvényhez való hozzáférés nem gond.
-
válasz
tintoretto
#3154
üzenetére
Jó helyen jártál, csak ehhez nem kell makró.
-
válasz
szkristof05
#3149
üzenetére
Mivel a sávszélessség kevés (vsz szerver oldalon), így a nagyobb cache mérettel sem lehet megoldani a problémát. Csak annyi lenne az eremény, hogy nem 4 mp-ként "csatlakozna újra" 3 mp-ig, hanem pl 10 mp-enként 6 mp-ig nem lenne adás.
-
válasz
szkristof05
#3147
üzenetére
Lassabb a stream letöltési sebessége, mint az adás bitrátája, ezért mindig kifut a letöltött tartalomból (vagy pedig a szerverről kifut a letölthető stream, így a szerver bontja a kapcsolatot). Lehet növelni a cache méretét, de ez csak azt fogja hozni, hogy ritkábban csatlakozik le (ha nem a szerver bont le), viszont újracsatlakozásnál többet kell várni.
Sokat nem lehet ez ellen tenni.
Esetleg az segíthet, ha szerzel olyan hozzáférést (tipikusan VPN), ahonnan nagyobb letöltési sebességgel érhető el a stream. -
válasz
Papa100
#3140
üzenetére
Option Explicit
'Használata:
'GenerateQR Range("B2"), "https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=BEGIN:VCARD%0AN:Teszt%20Elek%0AEND:VCARD"
'
Public Sub GenerateQR(R As Range, Url As String)
Dim im As Object
Set im = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=R.Left, Top:=R.Top + 2, Width:=1, Height:=1)
im.Object.AutoSize = True
im.Object.BorderStyle = 0
im.Object.PictureAlignment = 0
Set im.Object.Picture = GetPicture(Url)
R.ColumnWidth = im.Width * 0.141 * 1.333
R.RowHeight = im.Height + 4
End Sub
Private Function GetPicture(Url As String) As StdPicture
Dim wv As Object
Set wv = CreateObject("WIA.Vector")
wv.BinaryData = GetWebData(Url)
Set GetPicture = wv.Picture
Set wv = Nothing
End Function
Private Function GetWebData(Url As String) As Byte()
Dim objHTTP
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", Url, False
objHTTP.Send
If objHTTP.statusText = "OK" Then
GetWebData = objHTTP.ResponseBody
End If
Set objHTTP = Nothing
End Function -
válasz
Atomantiii
#3110
üzenetére
mert a kék az aktív kontroll kijelölése, a szürke pedig az épp nem aktív kontrollé.
Ha azt szeretnéd, hogy a nem aktív kontroll is kék legyen, akkor mókolni kell: [link] -
válasz
Atomantiii
#3108
üzenetére
asszem listview2.listitems.item(index).selected = true, csak ne legyen a hideselection = true, mert akkor a nem aktív listview-n nem látszik a kijelölés.
és ha multiselect van, akkor végig kell menni a teljes listview1 listán és átállítani a listview2-ben, ahol nem megfelelő a selected értéke. -
válasz
Atomantiii
#3105
üzenetére
VB.NET-nél a nyelvre gondolok. A Visual Studio 2019 az IDE hozzá (de lehet benne többek között C#-ban, F#-ban, C++ -ban vagy akár Python-ban is fejleszteni).
-
válasz
Atomantiii
#3103
üzenetére
Wow, eléggé régi az a verzió, csodálom, hogy még Win10-alatt is "normálisan" működik.
VB.NET-tel próbálkozz meg szvsz. -
válasz
Atomantiii
#3100
üzenetére
Ez melyik VB?
-
válasz
Vladek83
#3097
üzenetére
Vsz vagy nem azon a porton fut a szerver, vagy valami tűzfal-szabály nem engedélyezi a csatlkozást a te gépedről. (vagy pl ha a "távoli gép" a saját géped, akkor vagy nincs kiengedve a port vagy az xyz.hu nem a te publikus címedre mutat, vagy natolva van a kapcsolatod és a géped az indternet felől nem is címezhető).
-
Ha 5 nap alatt át tudod fordítani VBA-ból VB.NET-be (és XLL-be befordítod), akkor nagyjából effektíven meg tudod védeni a belenyúlás és a forráskód megszerzése ellen. Más ésszerű lehetőséged nem nagyon van.
mod: ezt találtam még neked: [link]
Másrészről egyáltalán nem etikus, amit szeretnél. Bár éveket dolgoztál rajta, de ezt a cég érdekében (vsz a munkavégzés automatizálásából) tetted. Bár lehet, hogy rossz érzés magad mögött hagyni, mégis csak legalább annyira (igazából sokkal inkább) a cégé a kód, mint a tiéd. Alapesetben igazából magaddal sem viheted, hacsak a cégtől erre vonatkozóan nem kapsz egyértelmű felhatalmazást.
-
válasz
smallmer
#3002
üzenetére
Ok, akkor ez nem annyira járható út. De simán tudsz csinálni egy másik excelt, ami először betölti a sablon-t és utána a többi excelt.
Amennyiben a sablon fájlban publikus-ként van definiálva a funkció/szubrutin, amit el akarsz érni, akkor azt probléma nélkül meg tudod tenni másik fájlból is (csak fel kell venned a sablon fájlt referenciaként). -
válasz
smallmer
#3000
üzenetére
A legegyszerűbb lenne, ha a sablon makrója nyitná meg a 200 excel fájlt (darabra, vagy egyszerűen csak az adott helyen levő és szabálynak megfelelő nevű fájlokat), szépen megnyitná a munkalapokat, megnézné az adatokat és vagy copy/paste vagy adatmásolással átrakná a sablon fájlba (és az elmentené más néven).
Igazából szerintem ehhez mindent megtalálsz stackoverflow-n:
Open
Copy/Paste szűrve -
-
Ahogy nézem SortFields-be megadott range nem lehet több oszlop széles. Vsz ez a problémája.
Ha több oszlop szerint szeretnél rendezni, akkor mindet egyesével hozzá kell adni.
Majd miután beállítottad a rendezési feltételeket, jöhet a Sort parancs.Valahogy így:
Workbooks(OutputKAT_F_Name).Worksheets(s_wsName).Sort. _
SortFields.Add Key:=Range(Range("A2:A" & s_OutRow)), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Workbooks(OutputKAT_F_Name).Worksheets(s_wsName).Sort.SetRange Range("A2:" & HeaderKAT_Last_Col & s_OutRow) -
válasz
alexy92
#2857
üzenetére
Első körben a felesleges Select és Activate sorokat vedd ki:
- két (vagy több) select egymás után felesleges, csak az utolsó maradjon meg (kiváve, ah a következőben fel van használva a selection, de ezeket inkább egy sorba kell tömöríteni
- aktív sheet-et vagy workbook-ot újra aktiválni felesleges
- a valami.Select + Selected.Value = ... felesleges, helyette valami.Value = ... elég, nem kell kijelölni, ráadásul gyorsabb is
- ha nem Select-tel dolgozol, hanem közvetlen referenciával, akkor nem kell Activate és Select:Workbooks("Workbook.xls").Worksheet("Sheetnév").Range("CellaReferencia").Value = "valami"
- Copy/PasteSpecial:value helyett sokkal (!) gyorsabb az Array copy: [link] -
Google 5sec,
elsőmásodik találat (bár az elsőben is ott van, csak nem az első válaszban és kicsit fellengzősebben):With ActiveWindow
If .FreezePanes Then .FreezePanes = False
'Freeze F6: 5 oszlop és 6 sor zárolása
.SplitColumn = 5 'fix oszlopok száma
.SplitRow = 6 'fix sorok száma
.FreezePanes = True
End With -
Szeretnék VBA alatt elérni a System.IO.File statikus osztályt, hogy a File.Open statikus függvénnyel FileStream-et állítsak elő. Ehelyett nekem az is megfelelő, ha a FileStream osztály inicializálni tudom. De ugye VBA alatt csak defualt - argumentum nélküli - konstruktor hívható, de a FileStream-nek nincs ilyen, ezért a new keyword sem használható.
Igazából az volna, hogy most működő - Excel addin - System.Security.Cryptography.SHA512Managed objekumomat nem byte-array-jel etessem meg, hanem FileStream-mel. Ez egyrész jóval gyorsabb, másrészt memóriatakarékosabb, harmadrészt működik 2GB feletti fájlokkal is.
PowerShell és natív .NET kilőve. Esetleg még VBS jöhet szóba, de az ugyanez a tészta. -
Ezzel le tudod kérdezni a memberhip-et:
Function IsMember(userDomain As String, userName As String, groupDomain As String, groupName As String) As Boolean
Dim grp As Object
Dim grpPath As String, userPath As String
grpPath = "WinNT://" & groupDomain & "/" & groupName
Set grp = GetObject(grpPath & ",group")
userPath = "WinNT://" & userDomain & "/" & userName
IsMember = grp.IsMember(userPath)
End FunctionÍgy hívd meg (angol windows-on - magyaron ugye más az Admin Group neve):
IsMember(Environ("userdomain"), Environ("username"), ".", "Administrators") -
Szerintem felesleges Windows API-val küzdeni...
VBS simán átültethető VBA-ba:
Public Sub InstallFont()
Dim objShell As Object ' Shell
Dim objFolder As Object ' Folder
Dim objFSO As Object
Dim srcFolder, srcFile
'Ide kell a Font forrás könyvtára
srcFolder = "\\networkserver\sharedfolder\publicfonts"
'Ide kell a font file neve
srcFile = "code128.ttf"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(srcFolder)
Set objFSO = CreateObject("Scripting.Filesystemobject")
If Not objFSO.FileExists("C:\Windows\Fonts\" & srcFile) Then
Dim objFolderItem As Object ' FolderItem
Set objFolderItem = objFolder.ParseName(srcFile)
On Error Resume Next
objFolderItem.InvokeVerb "Install"
If Err Then
Debug.Print Err.Description
Err.Clear
End If
On Error GoTo 0
Set objFolderItem = Nothing
End If
Set objFSO = Nothing
Set objFolder = Nothing
Set objShell = Nothing
End Sub -
válasz
Atomantiii
#2662
üzenetére
Olyan rég volt már VB6, hogy szvsz elég sokat utána kellene olvasni - plusz szerintem már senkinek nincs fent fejlesztőkörnyezet, így aktívan senki nem tud segíteni.
Amúgy pl. negyedik elem kijelölésre:
Listbox1.Selected(4) = TrueHa eltünteti, amikor leveszed a fókuszt:
Listbox1.HideSelection = FalseJa amúgy ez kb 3 perc google volt. Ha nem megy az angol, akkor gyorsan állj neki.
-
válasz
Atomantiii
#2646
üzenetére
Felteszem vagy a komponens, vagy az adatbázis (mező), vagy a végén a megjelenítő nem támogatja az Unicode-ot - ezért kerül ez konvertálásra időközben.
-
Csinálok mindjárt egy próbát a gépemen, nem szabadna villogjon...
C#-ban lesz elsőre (VB.NET már rég nincs a kezemben).
Itten van - semmit nem állítottam a formon és egyáltalán nem villog:
namespace TestControlMove
{
public partial class Form1 : Form
{
bool MozogE = false;
Point Eredeti;
public Form1()
{
InitializeComponent();
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Eredeti = e.Location;
MozogE = true;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (MozogE)
{
pictureBox1.Location = pictureBox1.Location + new Size(e.X - Eredeti.X, e.Y - Eredeti.Y);
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
MozogE = false;
}
}
} -
Próbálj objektumorientáltan gondolkozni - a left/right/mid csak a visszafele kompatibilitás miatt maradt bent.
Amúgy nem az IO zavar be, hanem az ablak Left paramétere.
Használd inkább a String objektum beépített függvényeit:
szoveg = left(szoveg, 4)
helyett
szoveg = szoveg.Substring(0, 4) -
pl.:
string[] AllLines = File.ReadAllLines(file);AllLines.Length vagy AllLines.LongLength
Automatice megpróbálja felismerni - amennyiben UTF-8 BOM-mal vagy UTF-32.
Ha UTF-8 BOM nélkül, vagy ASCII valami kódlappal, akkor azt nem ismeri fel.Eredetiből:
This method attempts to automatically detect the encoding of a file based on the presence of byte order marks. Encoding formats UTF-8 and UTF-32 (both big-endian and little-endian) can be detected. -
válasz
Apollo17hu
#2571
üzenetére
kompatibilitási problémák léphetnek fel, ha terjeszteni szeretnéd
-
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.
-
Nem, DateTime-ban tárold és a kivonás egy TimeSpan objektumot hoz létre. Ez már magában időtartamot reprezentál. MSDN-ről:
Dim startTime As Date = Now
' Run the process that is to be timed.
Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime)
Dim millisecs As Integer = runLength.Milliseconds -
Új hozzászólás Aktív témák
- Konzolokról KULTURÁLT módon
- Dupla kamerával menekülne az iPhone Air a kaszától
- WoW avagy World of Warcraft -=MMORPG=-
- HiFi műszaki szemmel - sztereó hangrendszerek
- Mesterséges intelligencia topik
- Luck Dragon: Asszociációs játék. :)
- Milyen TV-t vegyek?
- Amlogic S905, S912 processzoros készülékek
- Formula-1
- Proxmox VE
- További aktív témák...
- Lenovo Thinkcentre M920t Tower/ M720s / M920s SFF / i5-8-9. gen/ WIN10-11/számla, garancia
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3209, 100% Akkumulátor
- Honor X6a 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



)



