考虑这种情况:我有一个在服务器上有两个网络共享的客户端。每个共享包含代表每个项目的相同文件夹列表(一个用于当前数据,另一个用于存档数据)。每个项目文件夹都包含一组匹配的文件夹和子文件夹,需要分配单独的权限。当然,项目会不时添加和删除。
我想在 Excel 中维护一个项目列表以及需要为每个项目文件夹及其所有子文件夹设置的权限列表。我的想法是在 Excel 中每行布置一个命令,每行代表一个子文件夹。然后使用 for 循环将这些命令复制到共享文件夹和项目文件夹中添加到目录路径。输出将是一个批处理文件,我可以在需要更改或更新权限的任何时候运行该文件。
编辑:我从未在 Excel 中使用过 VBA,搜索后我似乎无法找到如何在 for 循环中使用变量来更改工作表中的哪些单元格被引用。自从我编写任何程序以来已经有一段时间了,但是当我在 CI 中编程时,记得能够使用 for 循环中的变量来引用列表/表格中的单元格。当 for 循环进行迭代时,变量将计数改变它们引用的列表中的哪个单元格。用 Excel 术语来说,我希望每个 for 循环中的变量都是行号,并且我将静态分配列字母,因为每次迭代都不会改变。
每次 for 循环运行时,我希望它将一系列单元格连接成一个文本字符串,该字符串输出到文本文件的新行。串联会将在每个循环期间保持不变的一些单元格和随着变量的增加而变化的其他单元格联系在一起。例如,我想连接单元格 A1、B1、Ci、Dj、E1、Fk,其中 i、j 和 k 表示用于计算每个 for 循环的迭代次数的整数的数值。
你能告诉我用可变单元格赋值完成连接的正确语法是什么吗?这是我的代码的摘录。
For i = 2 To numberOfSharedFolders
'Loops for every subfolder (project folder) in the shared folder that needs permissions set
For j = 2 To numberOfSubfolders1
'Loops for every entry of permissions on final folders
For k = 2 To numberOfSubfolders2
concatenatedDataString = ActiveSheet.Range("A1") & ActiveSheet.Range("B1") & ActiveSheet.Range("C"i) & ActiveSheet.Range("D"j)
Write #1, concatenatedDataString
Next k
Next j
Next i