Het gebeurt nogal dat er vanuit visual basic een andere programma moet gestart worden.
Er zijn enkele mogelijkheden binnen visual basic.
Vb: Dim Retval Retval = Shell("c:\windows\calc.exe",vbNormalFocus)
Echter zijn er hier beperkingen.
Onderstaande code heeft u meer vrijheid. Deze zend de parameter [command] naar windows en windows start betreffende commando op. Het grote voordeel:U kan meer dan programma's starten.
Een bestand kan op die manier geladen worden met het standaard gekoppelde programma.
Vb test.xls zal openen in Excel. Nog een mogelijkheid is een url. vb: http://www.visualbasic.be.
Deze zal de internet explorer opstarten (of andere browser die standaard staat). De commando "mailto:somebody@hotmail.com" start het e-mailprogramma op met een venster voor een nieuw bericht op te maken. (als het e-mail client dit ondersteund).
Let wel, laat de dubbele "" staan. Deze moet als het opdracht spaties bevat.Dankzij FonskeSponske weten we dat deze ook werkt in .net. Bedankt
Code:
'Deze code hoort bij een opdrachtknop
Dim objWSH As Object Set objWSH = CreateObject("WScript.Shell") Call objWSH.Run("""" & [command] & """") Set objWSH = Nothing
3186 x gelezen
Commentaar
ArComAr - 02 Jul 2007 - 18:06
in vb2005 kan je dit gemakkelijker met behulp van de system.diagnostics.process klasse. Deze staat standaard ook de intellisense (hiermee bedoel ik dat je geen imports moet doen)
je kan met [vb]process.start("http://vbib.be")[/vb] tot op deze site geraken en met
[vb]process.start("c:\tmp\logo.bmp")[/vb]
een bitmap bestand opendoen.
ipv process.start kan je ook gebruik maken van de volledige code namelijk:
system.diagnostics.process.start(...)
dit is hetzelfde.
Je kan hiermee alle soorten files open doen net zoals in je windows.