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
运行时错误VBS/VBA_Vba_Excel_Vbscript - Fatal编程技术网

运行时错误VBS/VBA

运行时错误VBS/VBA,vba,excel,vbscript,Vba,Excel,Vbscript,在我尝试添加错误处理之前(当VBA中的webquery没有提取任何数据时),这段代码一直工作得很好。现在它仍在运行,但出现以下错误: 脚本:C:\Test\Test.vbs 第8行 字符:1 错误:无法访问“Test.xlsm”。 代码:800A9C68 资料来源:Microsoft Excel 这是我的VBScript,它实际上只是在.xlsm工作簿中调用我的VBA Set fso=CreateObject(“Scripting.FileSystemObject”) curDir=fso.G

在我尝试添加错误处理之前(当VBA中的webquery没有提取任何数据时),这段代码一直工作得很好。现在它仍在运行,但出现以下错误:

脚本:C:\Test\Test.vbs
第8行
字符:1
错误:无法访问“Test.xlsm”。
代码:800A9C68
资料来源:Microsoft Excel
这是我的VBScript,它实际上只是在.xlsm工作簿中调用我的VBA

Set fso=CreateObject(“Scripting.FileSystemObject”)
curDir=fso.GetAbsolutePathName(“.”)
设置myxlApplication=CreateObject(“Excel.Application”)
myxlApplication.Visible=False
将myWorkBook=myxlApplication.Workbooks.Open(“C:\Test\Test.xlsm”)更改为包含宏的实际工作簿
myWorkBook.Application.Run“Module1.Mail\u ActiveSheet”更改为包含宏的模块和宏
myxlApplication.Quit
以下是我的VBA代码,它刷新webquery,重新格式化一些小的格式错误,然后将工作表另存为当前目录中的.csv

Private声明函数GetActiveWindow Lib“user32”(长度为
子邮件_活动页()
'错误处理
关于错误转到错误处理程序
'刷新webquery
Application.Worksheets(“Test”).Range(“A1”).QueryTable.Refresh BackgroundQuery:=False
'在单元格M2中输入标题注释
范围($M$2”).Value=“注释”
'在第M列中输入公式
范围(“M$3”)。公式=范围(“G3”)&(“G3”)&范围(“L3”)
最后一排一样长
Application.ScreenUpdating=False
Lastrow=范围(“L”和Rows.Count).End(xlUp).Row
范围(“M3:M”和Lastrow)。公式=“=”TT“&G3&:”“&L3”
ActiveSheet.AutoFilterMode=False
Application.ScreenUpdating=True
'将逗号替换为句点
单元格。替换什么:=“,”,替换:=”,看:=_
xlPart,SearchOrder:=xlByRows,MatchCase:=False,SearchFormat:=False_
ReplaceFormat:=False
'将H列格式化为文本
范围(“E:E”).NumberFormat=“一般”
范围(“H:H”).NumberFormat=“@”
'修复了将前导零添加到站点代码的格式设置
列(“H”)。替换内容:=“808”,查看:=xlother,替换:=“'0808”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“650”,查看:=xlother,替换:=“'65E1”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“941”,查看:=xlother,替换:=“'0941”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“17”,查看:=xlother,替换:=“'0017”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“168”,查看:=xlother,替换:=“'0168”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“420”,查看:=xlother,替换:=“'0420”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“535”,查看:=xlother,替换:=“'0535”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“560”,查看:=xlother,替换:=“'0560”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“572”,查看:=xlother,替换:=“'0572”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“575”,查看:=xlother,替换:=“'0575”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“750”,查看:=xlother,替换:=“'0750”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“760”,查看:=xlother,替换:=“'0760”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“815”,查看:=xlother,替换:=“'0815”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“822”,查看:=xlother,替换:=“'0822”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“823”,查看:=xlother,替换:=“'0823”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“824”,查看:=xlother,替换:=“'0824”,搜索顺序:=xlByColumns
列(“H”)。替换内容:=“886”,查看:=xlother,替换:=“'0886”,搜索顺序:=xlByColumns
标签1:
将WS设置为Excel.Worksheet
将SaveToDirectory设置为字符串
将当前工作簿设置为字符串
Dim CurrentFormat尽可能长
CurrentWorkbook=ThisWorkbook.FullName
CurrentFormat=ThisWorkbook.FileFormat
'存储工作簿的当前详细信息
SaveToDirectory=“C:\Test\”
对于此工作簿中的每个WS。工作表
工作表(WS.Name)。复制
ActiveWorkbook.SaveAs文件名:=SaveToDirectory&WS.Name&“.csv”,文件格式:=xlCSV
ActiveWorkbook.Close savechanges:=False
此工作簿。激活
下一个
Application.DisplayAlerts=False
ThisWorkbook.SaveAs文件名:=当前工作簿,文件格式:=当前格式
Application.DisplayAlerts=True
'暂时关闭警报以防止用户收到提示
'关于覆盖原始文件。
终点
错误处理程序:
表1.1.1.1清除
“恢复标签1”标签1放置在工作簿保存位置之前
端接头
我试图做的错误处理是这样的:

”这被放置在脚本的webquery部分之上
关于错误转到错误处理程序
错误处理程序:
表1.1.1.1清除
“恢复标签1”标签1放置在工作簿保存位置之前

好了,终于拿到了。。。。出于某种原因,如果我在Excel中拆分将工作簿保存到新宏的VBA代码部分,我将不再收到错误

所以我最终得到了3个宏。标签1上方的部分,然后是标签1和另一个宏,该宏按照它们应该运行的顺序调用这两个宏

同样对于错误处理,我丢失了Exit子命令,以便在没有错误时停止它的执行


谢谢你的帮助

在再次尝试打开XLSM(不可见)之前,您打开了多少次而没有关闭它?如果打开任务管理器,“进程”选项卡上有多少个Excel.exe条目?关闭Excel后,任务管理器中通常还有一个打开的条目。但是,无法找出是什么原因导致它保持打开状态。请尝试在末尾设置myxlApplication=Nothing。听起来好像您有一个不可见的Excel。应用程序未关闭,并且可能没有关闭