excel - 无法弄清楚为什么我会收到运行时错误 9:下标超出范围错误
问题描述
我有一个在 Workbook_BeforeSave 事件期间运行的代码,该代码旨在将电子表格的一部分保存到外部文本文件中,用于在多个工作簿之间同步数据。
代码如下:
Sub SaveSyncFile()
Dim syncfilename As String, lineText As String
Dim myrng As Range, i, j
syncfilename = "\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt"
Open syncfilename For Output As #1
Set myrng = Range("AcctRec")
For i = 1 To myrng.Rows.Count
For j = 1 To myrng.Columns.Count
lineText = IIf(j = 1, "", lineText & ",") & myrng.Cells(i, j)
Next j
Print #1, lineText
Next i
Close #1
End Sub
当文件有时关闭时,此行是发生错误的地方:
syncfilename = "\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt"
所以,当我调试时,我可以?"\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt"
在即时窗口中得到结果,但是如果我尝试得到?syncfilename
,它没有显示任何价值......
那么,变量值的赋值似乎有些问题?
此外,更多信息...如果只是直接运行 Sub,则此 Sub 似乎可以正常工作...但是当从 Workbook_BeforeSave 事件调用 sub 时,有时会发生错误。
知道如何解决吗?
解决方案
推荐阅读
- jquery - 如何将数据从下拉列表传递到操作方法以使用 post jquery ajax 调用保存数据
- java - 你能解释一下它是如何工作的吗?
- c# - 如何在网格中添加多个自定义形状的按钮?
- javascript - Javascript 所有点都替换为空格(为什么我的代码不起作用)
- javascript - 如何从 CanavasJS 图表中完全删除 Y 轴
- python-3.7 - 如何将生成器的结果写入文本文件?
- php - 根据数据库中的消息和线程ID获取图像列表
- java - 如何反序列化与我的 Java 类同名的嵌套 JSON 对象
- angular - @ngxs/form-plugin:处理单个字段更改
- python - 文本预测 LSTM 神经网络的问题