Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba程序的预期语句结束_Vba - Fatal编程技术网

vba程序的预期语句结束

vba程序的预期语句结束,vba,Vba,我正在尝试将excel文件从其他文件夹复制到保存/显示此脚本的文件夹。我在下面的代码中遇到“预期语句结束”错误,请有人帮助 Option Explicit Dim FSO Dim sFile As String Dim sSFolder As String Dim sDFolder Dim anObject As Object sFile = "Filename.xlsm" sSFolder = "C:\workspace" Set FSO = CreateObject("Scripting.

我正在尝试将excel文件从其他文件夹复制到保存/显示此脚本的文件夹。我在下面的代码中遇到“预期语句结束”错误,请有人帮助

Option Explicit

Dim FSO
Dim sFile As String
Dim sSFolder As String
Dim sDFolder
Dim anObject As Object
sFile = "Filename.xlsm"
sSFolder = "C:\workspace"
Set FSO = CreateObject("Scripting.FileSystemObject")
sDFolder = FSO.GetAbsolutePathName("C:\") 
If Not FSO.FileExists(sSFolder & sFile) Then
    MsgBox "Specified File Not Found", vbInformation, "Not Found"
Else
    FSO.CopyFile (sSFolder & sFile), sDFolder, True
End If

未经测试,但如果不将VBA代码分割为子过程,则无法使用VBA代码。您应该使用
Sub(您的子名称)
启动语句,然后使用
End Sub
关闭语句。见下文

Option Explicit
Sub MyCode

Dim FSO
Dim sFile As String
Dim sSFolder As String
Dim sDFolder
Dim anObject As Object
sFile = "Filename.xlsm"
sSFolder = "C:\workspace"
Set FSO = CreateObject("Scripting.FileSystemObject")
sDFolder = FSO.GetAbsolutePathName("C:\") 
If Not FSO.FileExists(sSFolder & sFile) Then
    MsgBox "Specified File Not Found", vbInformation, "Not Found"
Else
    FSO.CopyFile (sSFolder & sFile), sDFolder, True
End If

End Sub

我会对您的代码做一个更改(我会对此进行评论,但我没有足够的分数这么做,所以很抱歉):

sFile=“Filename.xlsm”

sSFolder=“C:\workspace\”


您将寻找一个名为C:\workspaceFilename.xlsm的文件,该文件不在过程范围内,可执行VBA代码是非法的。用
Sub
语句将所有内容包装在
Option Explicit
下,例如
Public Sub DoSomething()
实际上,当我将相同的代码放在excel中并尝试以宏的形式运行时,它可以工作,但当我将其放在任何excel之外并尝试通过cmd行运行时,它会出现语句结束错误,我尝试了各种方法来解决,但没有解决。谢谢你的帮助,但它仍然不起作用VBA和vbscript不是一回事,所以可能这就是你问题的基础?好的,谢谢,我会更改我的代码vbscript没有
As
关键字。如果你知道你用的是什么语言,如果你的问题提到什么陈述是错误的,这会有帮助。我怀疑VBScript和第一个
是代码中的
子句。