2017-08-01 83 views
0

我在宏表中运行宏。但是我得到的错误文件未找到,但文件在指定的目录中。看到下面的代码,不知道我们缺少什么。调用SQLLDR时会发生错误。VB运行时错误53找不到文件

 Shell ("SQLLDR USERID= srvmacro/[email protected] CONTROL=" & outfile & " LOG=" & outfile & ".LOG") 
     'Shell ("SQLLDR USERID= srvmacro/[email protected] CONTROL=" & outfile & " LOG=" & outfile & ".LOG") 
     MsgBox " Done all " 
    End If 
    'Unload UserForm1 
End Sub 
+0

“outfile”的值是什么? – braX

+0

outfile = InputBox(“要上传的文件的名称”,“上传到Oracle”,“C:\ UPLOAD \ INTREVERSE.CTL”) –

回答

0

最有可能的是,你必须在一个空格(或其它特殊字符您OUTFILE变量

尝试以下,看看你实际上是试图执行...

msgbox "SQLLDR USERID=srvmacro/[email protected] CONTROL=" & outfile & ", LOG=" & outfile & ".LOG" 

它可能应该是更象: -

shell ("SQLLDR USERID=srvmacro/[email protected] CONTROL=""" & outfile & """, LOG=""" & outfile & ".LOG""") 

注逃生d引号,并且您还在关键字之间缺少逗号

+0

INTREVERSE.CTL文件被自动创建,但INTREVERSE.CTL.LOG文件未被创建, 可能是什么原因? –

+0

你可以粘贴你的更新代码,如果你添加了缺少的逗号,那么我将不得不测试它 – Rich

相关问题