在Macintosh上的多个文件上运行excel vba代码

时间:2016-08-10 08:35:40

标签: excel macos vba excel-vba

我在Excel中编写了以下代码:

Sub DoWork()

我要做的是运行底部Sub Multiple(),它在我的macintosh上的excel文件上对多个文件进行一些基本编辑。 为此我编写了uper androidGridView.setOnScrollListener(new AbsListView.OnScrollListener(){ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(firstVisibleItem + visibleItemCount >= totalItemCount){ EditText rl1 = (EditText) findViewById(R.id.editText); new SearchTask().execute(rl1.getText().toString()); } } @Override public void onScrollStateChanged(AbsListView view, int scrollState){ } }); ,最终应该在多个文件上运行底部Sub。 文件类型为CSV文件。

底层代码在每个Excel文件上单独运行时非常有用。 但是,顶级代码不能在所有多个文件上运行。

任何人都知道为什么?

2 个答案:

答案 0 :(得分:0)

在您的多个代码中,您将一个字符串参数(文件名)传递给DoWork,但DoWork希望您传递一个Workbook对象。

您需要将strPath和strFile连接在一起(在Windows中为strPath & "\" & strFile - 我假设它在Mac上类似),然后打开工作簿。我建议您应该使用以下代码DoWork (strFile)

Set wb = Workbooks.Open(strPath & "\" & strFile)  ' Adjust to suit for Mac filename syntax
DoWork wb
wb.Save
wb.Close False

答案 1 :(得分:0)

确定。弄清楚: - )

"FOLDER/SUB/file.jpg"

现在我有另一个问题, 我收到以下错误消息:

  

运行时错误'1004':

     

“TLV-MPZYW:用户:LCOHEN:GOOGLE   DRIVE:SQA:项目:VBABOTREGRESSION:FILES:SAMPLES_MULTIPLE_FILTERS_QUERIES-STATISTICS.CSV”   无法找到。检查文件名的拼写,并验证   文件位置正确。

     

如果您尝试从最近的列表中打开该文件   使用文件菜单上的文件,确保文件尚未存在   重命名,移动或删除。

关于可能导致此问题的原因,我对此毫无头绪。 正如您在我的代码中看到的那样,我正在打印文件名以验证它确实正确读取它。

任何?????