Command 函数示例 本示例在某个函数中用 Command 函数获得命令行参数,并将命令行参数以 Variant 类型之数组返回。Function GetCommandLine(Optional MaxArgs) '声明变量。 Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs '检查是否提供了 MaxArgs 参数。 If IsMissing(MaxArgs) Then MaxArgs = 10 ' 使数组的大小合适。 ReDim ArgArray(MaxArgs) NumArgs = 0: InArg = False '取得命令行参数。 CmdLine = Command() CmdLnLen = Len(CmdLine) '以一次一个字符的方式取出命令行参数。 For I = 1 To CmdLnLen C = Mid(CmdLine, I, 1) '检测是否为 space 或 tab。 If (C <> " " And C <> vbTab) Then '若既不是 space 键,也不是 tab 键, '则检测是否为参数内含之字符。 If Not InArg Then '新的参数。 '检测参数是否过多。 If NumArgs = MaxArgs Then Exit For NumArgs = NumArgs + 1 InArg = True End If '将字符连接到当前参数中。 ArgArray(NumArgs) = ArgArray(NumArgs) & C Else '找到 space 或 tab。 '将 InArg 标志设置成 False。 InArg = False End If Next I '调整数组大小使其刚好符合参数个数。 ReDim Preserve ArgArray(NumArgs) '将数组返回。 GetCommandLine = ArgArray() End Function
csdn 是不是全E文的..????????
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 LongShellExecute 0, "open", "c:\1.txt", vbNullString, vbNullString, 3
shell "c:\windows\notepad.exe c:\yourtextfile.txt"
修改注册表的文件关联就可以了---具体的键指我忘记了:)但似乎和application有关,你去看看好了
在做一个修改注册表的子程序就可以了
http://www.csdn.net/expert/topic/701/701403.xml?temp=.7961542
就带开COMMAND.
stropenfilename=coommondialog1.filename
open stropenfilename for input as $1]
text1.text=input(LOF(1),1)
close #1
dim p as string
p =command()
然后调用你程序中打开文档的模块,p作为txt文件的文件名。
返回命令行的参数部分,该命令行用于装入 Microsoft Visual Basic 或 Visual Basic 开发的可执行程序。语法Command说明当从命令行装入 Visual Basic 时,/cmd 之后的命令行的任何部分作为命令行的参数传递给程序。下面的示例中,cmdlineargs 代表 Command 函数返回的参数信息。VB /cmd cmdlineargs对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,Command 返回出现在命令行中应用程序名之后的任何参数。例如:MyApp cmdlineargs想知道如何在正在使用的应用程序的用户界面中改变命令行参数,请搜寻关于“命令行参数”的帮助。
本示例在某个函数中用 Command 函数获得命令行参数,并将命令行参数以 Variant 类型之数组返回。Function GetCommandLine(Optional MaxArgs)
'声明变量。
Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
'检查是否提供了 MaxArgs 参数。
If IsMissing(MaxArgs) Then MaxArgs = 10
' 使数组的大小合适。
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
'取得命令行参数。
CmdLine = Command()
CmdLnLen = Len(CmdLine)
'以一次一个字符的方式取出命令行参数。
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)
'检测是否为 space 或 tab。
If (C <> " " And C <> vbTab) Then
'若既不是 space 键,也不是 tab 键,
'则检测是否为参数内含之字符。
If Not InArg Then
'新的参数。
'检测参数是否过多。
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
'将字符连接到当前参数中。
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
'找到 space 或 tab。
'将 InArg 标志设置成 False。
InArg = False
End If
Next I
'调整数组大小使其刚好符合参数个数。
ReDim Preserve ArgArray(NumArgs)
'将数组返回。
GetCommandLine = ArgArray()
End Function
如你双击我的文档中的一个名为abc的word文档,和运行C:\Program Files\Microsoft Office\Office\winword.exe C:\My Documents\abc.doc是一样的(假设word装在默认的目录)。command是一个函数,它的用途就是截取命令行参数,在你的程序中运行command()它返回的就是.exe以后的总分。如:上例中C:\My Documents\abc.doc。所以你的程序中要用command函数来截取你程序要打开的文件名。并且你要在程序中用代码来打开该文件。用command函数可以使你的程序根据不同的参数以不同的方式运行。当然这需要你用代码控制。
可以设置一个Sub Main()作为启动函数(必须在Bas文件中)
sub main()
dim xStr as stirng
xStr = Command$
'这个xstr就是你要的文件名
end sub
可以在调试状态设置命令行参数,在工程属性->生成页面里有命令行参数的设置