В общем случае нельзя полагаться на переменные, сохраняющие свое значение дольше, чем время выполнения макроса. Все виды действий Excel могут очистить сохраненные переменные, такие как сохранение рабочей книги, и вы никогда не сможете получить к ним доступ через книги без явного использования макросов get / set (которые могут не работать в любом случае из-за возможного удаления значений переменных). ).
Лучший способ сохранить данные такого рода - использовать функции SaveSetting
и GetSetting
.
В своей первой книге вы можете сохранить сохраненное введенное пользователем значение, с чем-то вроде этого:
Dim strFileDate As String
strFileDate = InputBox("Enter Folder Date (mm.dd.yy)", Default:=Format("mm.dd.yy"))
SaveSetting "ExampleAppName", "ExampleSectionName", "FileDate", strFileDate
Во второй книге вы получите доступ к этому значению, примерно так:
Dim strFileDate As String
strFileDate = GetSetting("ExampleAppName", "ExampleSectionName", "FileDate")
Если вы хотите очистить его после того, как вы закончив запускать все, что находится во второй книге, вы удалили бы это с помощью:
DeleteSetting "ExampleAppName", "ExampleSectionName", "FileDate"