我为自己的工作开发了一个宏,它会自动生成一个我们每天必须交出的报告。宏提示用户提供我们的银行报告(.CSV格式)和我们的会计系统报告(Great Plains - 还.CSV)。宏将获取这两个文件,创建一个新工作簿,将它们粘贴到两个单独的工作表中并计算差异并提醒用户。
执行此操作后,用户将发布GP的所有付款,以锁定我们在相关日期收到的任何存款。这个宏已经将我们的手动过程改为仅数字(我们曾经在手动创建后打印报告,现在宏将它保存到我们的网络驱动器上,所以我们不再需要关闭文件,包括已发布的内容')
由于这是一个新流程,我还创建了一个MsgBox
来提醒用户将所有帖子保存到特定的文件路径。这适用于那些不熟悉该过程的人。我希望它允许用户选中一个方框Never show this message again
,因此当他们下次运行报告时,该消息将不会显示。
我假设这样做,我必须将邮件从MsgBox
转换为UserForm
。宏(模板)文件保存在网络驱动器上,而不是特定的机器上。
我的问题:有没有办法保存用户的输入,或者保存设置到该特定的计算机?有没有办法调用机器的信息并将信息保存到列表中,或将设置保存到该机器?
提示:
MsgBox "STOP!" & vbCr & vbCr & _
"When prompted to print upon closing the Bank Deposit screen, deselect " & _
"the " & Chr(34) & "Print" & Chr(34) & " option and select the " & _
Chr(34) & "File" & Chr(34) & " option. Save the file as a " & _
"Comma-delimited file in the necessary file on the accouting drive.", _
vbCritical, "Posting in Great Plains"`
答案 0 :(得分:4)
您可以将用户选择存储在注册表中。
以下是一个示例,您可以在此处重新编写代码。
Sub test()
'/ Check if setting already exists
If GetSetting("Test_App", "Show", "MsgBox") <> "Yes" Then
'/ Show the message box
If MsgBox("Don't Show this to me again..", vbYesNo + vbCritical, "Test") = vbYes Then
'/ Save the setting in registery
SaveSetting "Test_App", "Show", "MsgBox", "Yes"
End If
End If
End Sub