Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
hi, is there any way that i could open and enter commands in ms dos
controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. |
#2
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
In general, you can use Shell to issue DOS commands--even call other programs.
But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
thanks for your reply, but the thing is, i need to run a program in msdos, by
changing its current directory and running an exe file, and i was hoping to do it from a userform in vba.. "Dave Peterson" wrote: In general, you can use Shell to issue DOS commands--even call other programs. But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
i mean, i see that you could run msdos application by using the shell, but
could you pass any parameter to the application? "Jason" wrote: thanks for your reply, but the thing is, i need to run a program in msdos, by changing its current directory and running an exe file, and i was hoping to do it from a userform in vba.. "Dave Peterson" wrote: In general, you can use Shell to issue DOS commands--even call other programs. But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Something like:
Option Explicit Sub testme() Dim myBatFile As String Dim myStr As String Dim myCommand As String myBatFile = "C:\my documents\excel\myfile.bat" myStr = "hello" myCommand = Chr(34) & myBatFile & Chr(34) & " " & myStr Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus End Sub Change the /k to /c to dismiss that DOS window when it's done. Jason wrote: i mean, i see that you could run msdos application by using the shell, but could you pass any parameter to the application? "Jason" wrote: thanks for your reply, but the thing is, i need to run a program in msdos, by changing its current directory and running an exe file, and i was hoping to do it from a userform in vba.. "Dave Peterson" wrote: In general, you can use Shell to issue DOS commands--even call other programs. But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]() I am really sorry for troubling you, but i think i am getting closer but not there yet. :( the coding i used is: Private Sub UserForm_Click() Dim RetVal Dim myBatFile As String Dim myStr As String Dim myCommand As String myBatFile = "C:\VQ80_2\VQ80RUN" ' VQ80RUN is the program that i wanted to run in dos myStr = TextBox1.Text & ".prn" & " " & TextBox1.Text & ".out" 'mystr holds the parameters to be used in the program VQ80RUN. myCommand = Chr(34) & myBatFile & Chr(34) & " " & myStr 'i think the problem i find is, (mycommand) is double quoting , for eg ""c:\vq80_2\vq80run" 1.prn 1.out" i am not sure if the quotation is causing trouble or if the coding itself is wrong.. Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus End Sub |
#7
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
hello, Dave, one last question,:), is it possible to close an ms dos window
(was opened using shell)??, if so, could you please explain to me??, thank you "Dave Peterson" wrote: In general, you can use Shell to issue DOS commands--even call other programs. But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson |
#8
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
From that earlier post:
Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus Change the /k to /c to dismiss that DOS window when it's done. Jason wrote: hello, Dave, one last question,:), is it possible to close an ms dos window (was opened using shell)??, if so, could you please explain to me??, thank you "Dave Peterson" wrote: In general, you can use Shell to issue DOS commands--even call other programs. But VBA has lots of stuff to work with files and folders built in. Including chdrive (to change drives) chdir (to change folders) dim OldPath as String dim NewPath as string OldPath = CurDir newpath = "D:\somefolder" chdrive newpath chdir newpath 'do a lot of work and change back chdrive oldpath chdir oldpath Jason wrote: hi, is there any way that i could open and enter commands in ms dos controlling from excel vba code?, like, say i wanted to change the current directory in msdos from d: to c:, is there anyway that i could do it from excel vba? if so, could you give me a hint.. -- Dave Peterson -- Dave Peterson |
#9
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
sorry if i am trying to be stupid Dave, the coding i used is
Dim RetVal Dim OldPath As String Dim NewPath As String OldPath = CurDir NewPath = "C:\VQ80_2\" ChDrive NewPath ChDir NewPath b = NewPath & "VQ80RUN.bat" & " """ & TextBox1 & ".prn""" & " """ & TextBox1 & ".out""" RetVal = Shell(b, vbMinimizedFocus) Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus , the program executes and ends in the ms dos window,and promts "press any key to continue", so the dos window closes if any key is pressed. i did use ' Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus, but no effect.. "Dave Peterson" wrote: From that earlier post: Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus Change the /k to /c to dismiss that DOS window when it's done. |
#10
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
one more thing, would it be easier to pass an other parameter after the
program has executed and stopped, i mean like when the dos prompts "press any key to continue", is it possible to send a parameter to dos so that the "press any key to continue" will be executed?? "Jason" wrote: sorry if i am trying to be stupid Dave, the coding i used is Dim RetVal Dim OldPath As String Dim NewPath As String OldPath = CurDir NewPath = "C:\VQ80_2\" ChDrive NewPath ChDir NewPath b = NewPath & "VQ80RUN.bat" & " """ & TextBox1 & ".prn""" & " """ & TextBox1 & ".out""" RetVal = Shell(b, vbMinimizedFocus) Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus , the program executes and ends in the ms dos window,and promts "press any key to continue", so the dos window closes if any key is pressed. i did use ' Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus, but no effect.. "Dave Peterson" wrote: From that earlier post: Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus Change the /k to /c to dismiss that DOS window when it's done. |
#11
![]()
Posted to microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
It sounds like that it's not the DOS window that's giving you that message--it
sounds like it's the application that you're running that's doing the message. You may be able to edit that vq80run.bat to get rid of that last prompt. If you look and don't see anything, then maybe just adding: EXIT as the last line of the .bat file would be enough. Jason wrote: sorry if i am trying to be stupid Dave, the coding i used is Dim RetVal Dim OldPath As String Dim NewPath As String OldPath = CurDir NewPath = "C:\VQ80_2\" ChDrive NewPath ChDir NewPath b = NewPath & "VQ80RUN.bat" & " """ & TextBox1 & ".prn""" & " """ & TextBox1 & ".out""" RetVal = Shell(b, vbMinimizedFocus) Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus , the program executes and ends in the ms dos window,and promts "press any key to continue", so the dos window closes if any key is pressed. i did use ' Shell Environ("comspec") & " /c " & myCommand, vbMinimizedFocus, but no effect.. "Dave Peterson" wrote: From that earlier post: Shell Environ("comspec") & " /k " & myCommand, vbMaximizedFocus Change the /k to /c to dismiss that DOS window when it's done. -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Stop excel from dropping the 0 in the beginning of a number? | Setting up and Configuration of Excel | |||
Open Excel 2003 from Windows Explorer | Excel Discussion (Misc queries) | |||
Excel Range Value issue (Excel 97 Vs Excel 2003) | Excel Discussion (Misc queries) | |||
How Do I open an excel file without Excel Viewer support | Excel Discussion (Misc queries) | |||
Excel 2002 and 2000 co-install. Control Which Starts ? | Excel Discussion (Misc queries) |