在用户PC上存储设置

时间:2015-10-06 12:52:15

标签: vba excel-vba excel

我有一张带有脚本的Excel表格,它保存在每个用户都可以访问的远程位置。 该宏将允许用户选择目标文件夹并在其中创建一些文件。

现在我希望我的脚本能够记住每个用户最后选择的路径。我将来可能需要存储更多路径(变量)。

我的想法是将这些数据存储在每个用户的Environ("AppData")位置。电脑。离线cookie的排序。

但是,最简单的创建方法(如果它不存在)将从多个我想轻松访问的文件中读取和更新文件?

我已经尝试将其保存在记事本中,但索引和解析是噩梦。

1 个答案:

答案 0 :(得分:12)

将设置保存到注册表。

  

SaveSetting(appname,section,key,setting)

SaveSetting "AffectedTerminals", "frmMain", "LastDir", szPathname

然后,您可以在下次运行应用时使用getsetting检索设置,以便您可以使用它。

  

GetSetting(appname,section,key [,default])

Dim szLastDir As String
szLastDir = GetSetting("AffectedTerminals", "frmMain", "LastDir", "P:\AttEngineering")

编辑:解释了appname和section参数。
appname和section可以是你想要的任何东西。描述设置的东西是最好的。在上面的代码中,AffectedTerminals是我的应用程序的名称。因此,如果您有一个处理IT发票的电子表格,那么您可以调用appname" ITinvoices"。该部分只是regestry条目的子部分(一种子目录)。

该设置将保存在此位置

  

HKEY_CURRENT_USER / Software / VB和VBA Program Settings / appname / Section / key / value /

所以对我来说它被保存为 enter image description here

保存设置功能

<强> AppName的
需要。字符串表达式,包含应用该设置的应用程序或项目的名称。

栏目
需要。字符串表达式,包含要保存密钥设置的部分的名称。

<强>关键
需要。字符串表达式,包含要保存的键设置的名称。

<强>设置
需要。包含要设置Key的值的表达式。

GetSetting功能

<强>应用程序名称
需要。字符串表达式,包含请求其密钥设置的应用程序或项目的名称。

部分
需要。字符串表达式,包含找到键设置的部分的名称。

<强>键
需要。字符串表达式,包含要返回的键设置的名称。

默认
可选的。如果在键设置中未设置任何值,则包含要返回的值的表达式。如果省略,则默认为零长度字符串(&#34;&#34;)。