我有一个带有脚本的Excel工作表,它保存在每个用户都可以访问的远程位置。 这个宏将让用户选择一个目标文件夹并在里面创建一些文件。在用户PC上存储设置
现在我想我的脚本记住每个用户的最后选择的路径。我可能需要在将来存储更多路径(变量)。
我的想法是将这些数据存储在每个用户计算机上的Environ("AppData")
位置。排序的一个离线cookie。
但是,最简单的创建方法是什么(如果它不存在)从多个我想轻松访问的文件中读取和更新文件?
我试过将它保存在记事本中,但索引和解析是噩梦。
我有一个带有脚本的Excel工作表,它保存在每个用户都可以访问的远程位置。 这个宏将让用户选择一个目标文件夹并在里面创建一些文件。在用户PC上存储设置
现在我想我的脚本记住每个用户的最后选择的路径。我可能需要在将来存储更多路径(变量)。
我的想法是将这些数据存储在每个用户计算机上的Environ("AppData")
位置。排序的一个离线cookie。
但是,最简单的创建方法是什么(如果它不存在)从多个我想轻松访问的文件中读取和更新文件?
我试过将它保存在记事本中,但索引和解析是噩梦。
将设置保存到注册表中。
SaveSetting(appname中,部分键,设定)
SaveSetting "AffectedTerminals", "frmMain", "LastDir", szPathname
然后你可以检索与您的应用程序运行,因此你可以用它下一次getsetting设置。
GetSetting(appname中,部分中,键[默认])
Dim szLastDir As String
szLastDir = GetSetting("AffectedTerminals", "frmMain", "LastDir", "P:\AttEngineering")
编辑:应用程序的名字和部分参数进行说明。
appname和section可以是任何你想要的。描述设置的东西是最好的。在上面的代码中AffectedTerminals是我的应用程序的名称。因此,如果您有一个处理IT发票的电子表格,那么您可以调用应用程序名称“ITinvoices”。该部分只是regestry条目的一个子部分(一种子目录)。
设置将在此locatioin保存
HKEY_CURRENT_USER /软件/ VB和VBA程序设置/应用程序的名字/科/键/值/
SaveSetting功能
AppName
必填。字符串表达式,其中包含设置应用于的应用程序或项目的名称。
部分
必填。字符串表达式,其中包含正在保存密钥设置的部分的名称。
密钥
必填。包含正在保存的密钥设置名称的字符串表达式。
设置
必需。包含正在设置Key的值的表达式。
GetSetting功能
APPNAME
必需。字符串表达式,其中包含请求键设置的应用程序或项目的名称。
部分
必需。字符串表达式,其中包含找到密钥设置的部分的名称。
键
必填。包含要返回的密钥设置的名称的字符串表达式。
默认
可选。包含要在键设置中未设置值时返回的值的表达式。如果省略,则默认为零长度字符串(“”)。
这看起来不错,我只是有一个关于参数“appname”和“部分”的问题。因为我的脚本保存在excel中,appname param是excel文件的完整路径吗? sectioname可以是任何东西,或者是否有逻辑?谢谢! – Zikato
不,它可以是任何你想要的。描述设置的东西是最好的。在上面的代码中AffectedTerminals是我的应用程序的名称。因此,如果您有一个处理IT发票的电子表格,那么您可以调用应用程序“ITinvoices”。该部分只是regestry条目的子部分。我会在一分钟内回答我的答案。 – MatthewD
很好的答案,谢谢!如果在接受之前有其他选择,我会等待几天。 – Zikato
创建一个隐藏的工作表,你可以为每个用户添加条目,可以检索与'ENVIRON(“用户名”)的用户名' – Raugmor
SaveSetting/GetSetting是存储命名值(注册表) –
当它的最简单的方法在远程位置,它被设置为只读。即便如此,电子表格也需要共享(这不是用户验证的),它会要求在每次使用后保存更改。 – Zikato