首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vba怎么 获取 参数

2012-02-25 
vba如何 获取 参数vba根据时间产生报表.我想传入两个参数:一个是日期 ,一个是am或者pm大部分时间excel

vba如何 获取 参数
vba根据时间产生报表.

我想传入两个参数:一个是日期 ,一个是"am"或者"pm"
大部分时间excel是计划任务自动运行.日期就是当天的日期,am,pm根据运行的时间来决定.
也有时候手动运行获取某天的报表,就要手动输入了.

有什么办法在启动excel 的时候传入两个参数而不用改vba?
能在命令行输入参数吗?如何输入?
在程序中如何接收输入的参数呢?

[解决办法]
看来楼主是搞不定了。
给你一个示例吧:只要调用 Sub Main() 就可以了。


VB code
Option ExplicitPublic Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Public Declare Function GetTickCount Lib "kernel32" () As LongPublic lWaitFlag As LongSub Main()      '程序入口点    Dim lTimeB&, lTimeN&    Dim objTest As CommandButton    frmMain.Show 0    Set objTest = frmMain.cmdOK    lWaitFlag = 1    lTimeB = GetTickCount()    Do        If (lWaitFlag = 0) Then Exit Do        If (lWaitFlag = 2) Then Exit Do        DoEvents: Call Sleep(100)        If (lWaitFlag = 1) Then            lTimeN = GetTickCount()            If (lTimeN - lTimeB > 15 * 1000) Then   '设置等待时间                Unload frmMain                lWaitFlag = 1: Exit Do            End If            If (Not (frmMain.ActiveControl Is objTest)) Then lWaitFlag = -1        End If    Loop    MsgBox "等待用户输入完成!", 64, "等待延时"    ' 按 lWaitFlag 的值进行必要的处理    Select Case lWaitFlag        Case 1: MsgBox "用户没有进行参数输入!", 48        Case 2: MsgBox "用户放弃了参数输入!", 48        Case 3: MsgBox "用户已经输入了参数!", 48    End Select    End SubPublic Sub TransParams(Params() As String)' 可以在这个过程中把接收到的数据转存到' 模块级或全局中供后续指令代码使用    Dim i&    For i = 0 To UBound(Params)        Debug.Print i, Params(i)    NextEnd Sub 

热点排行