程序B: 在 Sub Main() 函数里面,加入 Command 例如: Sub Main() Dim strCommand As String strCommand= Command() ' strCommand 相当于传入的参数 '以下的处理你自己考虑 '... End Sub例如:B程序名称:Finds , 那么 调用时: Finds AB BC D@b 程序中,strCommand 就会为: AB BC D@b 在程序A用Shell调用B程序的时候: Call Shell("Finds AB BC D@b") 那么就相当于把AB BC D@b参数传入了Finds了。
程序B中写: Private Sub Form_Load() MsgBox Command End Sub 然后将程序B做成B.exe文件. 然后用命令行调用:B par1,par2,par3,par4 看看弹出的msgbox,你就知道Command的用法了
完成以下几步: 1.设置成带命令行参数的工程 [工程]->[工程属性]->[生成]->[命令行参数] (在此处输入你应用程序的参数)2.在 sub main 中获取参数值 Public Function PrvGetCmdLine(Optional lMaxargs) Dim C, cmdLine Dim lCmdLnLen, lNumArgs As Long Dim bInArg As Boolean Dim i As Long Dim ArgArray()
'默认最多10个参数 If IsMissing(lMaxargs) Then lMaxargs = 10
For i = 1 To lCmdLnLen C = Mid(cmdLine, i, 1) '检测是否为 Space 或 Tab If (C <> "" And C <> vbTab) Then If Not bInArg Then If lNumArgs = lMaxargs Then Exit For lNumArgs = lNumArgs + 1 bInArg = True End If ArgArray(lNumArgs) = ArgArray(lNumArgs) + C Else bInArg = False End If Next ReDim Preserve ArgArray(lNumArgs) PrvGetCmdLine = ArgArray()End Function
MsgBox Command
End Sub
If command="A" Then
Else
End If
End Sub
比如A调用B时,传过来par1,par2,par3,par4。我该怎么做?Command是个系统参数吗?,谢谢,我实在是没这么用过。
在A调用B之前新建一个临时文件,将参数保存到临时文件中,多个参数可以用","分开
然后在B调用的时候判断这个文件是否存在,如果存在则打开文件,获取参数,然后删除临时文件
例如:
Sub Main()
Dim strCommand As String
strCommand= Command() ' strCommand 相当于传入的参数
'以下的处理你自己考虑
'...
End Sub例如:B程序名称:Finds , 那么 调用时: Finds AB BC D@b
程序中,strCommand 就会为: AB BC D@b
在程序A用Shell调用B程序的时候:
Call Shell("Finds AB BC D@b")
那么就相当于把AB BC D@b参数传入了Finds了。
Private Sub Form_Load()
MsgBox Command
End Sub
然后将程序B做成B.exe文件.
然后用命令行调用:B par1,par2,par3,par4
看看弹出的msgbox,你就知道Command的用法了
比如A调用B时,传过来par1,par2,par3,par4。我该怎么做?
Command是个系统参数吗?,谢谢,我实在是没这么用过。
//Command是个系统参数!它只接受你所有输入的东西,比如你传par1,par2,par3,par4 command显示的就是par1,par2,par3,par4 你可以再用split去分割它
1.设置成带命令行参数的工程
[工程]->[工程属性]->[生成]->[命令行参数] (在此处输入你应用程序的参数)2.在 sub main 中获取参数值
Public Function PrvGetCmdLine(Optional lMaxargs)
Dim C, cmdLine
Dim lCmdLnLen, lNumArgs As Long
Dim bInArg As Boolean
Dim i As Long
Dim ArgArray()
'默认最多10个参数
If IsMissing(lMaxargs) Then lMaxargs = 10
ReDim ArgArray(lMaxargs)
lNumArgs = 0
bInArg = False
'获取参数
cmdLine = Command()
lCmdLnLen = Len(cmdLine)
For i = 1 To lCmdLnLen
C = Mid(cmdLine, i, 1)
'检测是否为 Space 或 Tab
If (C <> "" And C <> vbTab) Then
If Not bInArg Then
If lNumArgs = lMaxargs Then Exit For
lNumArgs = lNumArgs + 1
bInArg = True
End If
ArgArray(lNumArgs) = ArgArray(lNumArgs) + C
Else
bInArg = False
End If
Next
ReDim Preserve ArgArray(lNumArgs)
PrvGetCmdLine = ArgArray()End Function