fieldset{padding:10px;}
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再发展下来才有了:大霞美的花卉基地和清源山的花博园。