15. april 2003 - 18:43Der er
15 kommentarer og 1 løsning
Køre et ikommando fra VBA
Jeg har brug for at åbne et externt program fra VBA. Det er for Refelection VBA, hvor jeg har brug for at åbne en r2w fil. Jeg ved at fra VB kan man køre et kommand for at starte et externt program, men det virker ikke i VBA, jeg går ud fra at det er af sikkerhed for macro virus. Men jeg ved at der er en vej udenom... Er der nogen der kender den?
De virker ikke, Jeg kan godt med de kommandoer starte en exe eller com fil, men i dette tilfælde så er det en fil der normal når man dobbelt klikker på den så starter den et program med den. Som for exemepel om du dobbelt klicker på en .doc fil så åbner den word, eller ex htm fil så åbner den Internet explorer. i dette tilfælde så om man dobbelt klicker på en r2w fil så åbner den Reflection, et telnet program.
Og når jeg bruger shell så får jeg "invalid procedure call" Og med sjh's version så stopper den på "Set WshShell = WScript.CreateObj..." med "object required"
Place this in a module so it is accessible from all forms.
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_HIDE = 0 Public Const SW_SHOW = 5
Then you can place this code anywhere you want. NOTE: Me.txtWordDoc is a field on a form. I have a button named cmdOpenDoc and this is the on click event.
Private Sub cmdOpenDoc_Click() Dim stAppName As String Dim result As Integer
On Error GoTo Err_cmdOpenDoc_Click
result = ShellExecute(0, "Open", Me.txtWordDoc, "", "", SW_SHOW)
If result < 32 Then MsgBox "Couldn't open file ..." End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.