kill547 Пользователь Сообщений: 6 |
Всем Доброго времени суток, прошу сильно не ругать, не знаю в какую ветку писать. p.s. Файл после выполнения макроса будет сохраняться…вариант макросом изменить макрос тоже подошёл бы, только нигде не найду.. |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#2 28.11.2014 21:21:04 Ещё варианты: в реестре, в именах, во внешнем файле…
Не понял — в самом коде? |
||
kill547 Пользователь Сообщений: 6 |
нужно именно в макросе, именно внутри макроса,(если конечно возможно такое) в имени файла непойдёт, поэтому и неподходит всё что нашёл в нете… Изменено: kill547 — 28.11.2014 21:33:06 |
gling Пользователь Сообщений: 4024 |
#4 28.11.2014 21:42:56 Интересно Девки пляшут, а если ни где не записывать, кто должен помнить? Как буквы могут что то запомнить? Конечно нужно где то записать. Это мое мнение. А сохранять можно на листе который скрыт макросом
Пока не откроешь проект VBA лист не отобразить. |
||
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#5 28.11.2014 21:45:23
А я разве предлагал в имени ФАЙЛА? |
||
B.Key Пользователь Сообщений: 633 |
создайте имя, сделайте невидимым и используйте. |
B.Key Пользователь Сообщений: 633 |
#7 28.11.2014 21:51:46
Из любой книги, при активной запароленой, выполнить:
лист открывается на ура |
||||
gling Пользователь Сообщений: 4024 |
#8 28.11.2014 22:05:56
Вы для кого делаете? Для хакеров или для пользователей? Против первых защиты нет (вопрос во времени), для вторых предложенное мной, выше крыши. Изменено: gling — 28.11.2014 22:08:26 |
||
B.Key Пользователь Сообщений: 633 |
#9 28.11.2014 22:12:38 Согласен на 100%
счетчик можно и на формулы привязать Изменено: B.Key — 28.11.2014 22:13:54 |
||
kill547 Пользователь Сообщений: 6 |
#10 28.11.2014 22:23:31
для пользователей не очень обычных
я думаю эти варианты очень даже подойдут., буду пробовать….Спасибо огромное!!! |
||||||
Johny Пользователь Сообщений: 2737 |
#11 28.11.2014 23:36:19 Можно использовать Names:
Изменено: Johny — 29.11.2014 12:01:43 There is no knowledge that is not power |
||
С.М. Пользователь Сообщений: 936 |
#12 29.11.2014 02:14:21 Покороче:
|
||
Содержание
- Метод Workbook.SaveAs (Excel)
- Синтаксис
- Параметры
- Замечания
- Пример
- Поддержка и обратная связь
- Vba excel сохранить переменную
- Хранение значений при завершении макроса
- Переменные документа
- Замечания
- Свойства документов
- Элементы автотекста
- Файлы параметров
- Реестр Windows
- Поддержка и обратная связь
Метод Workbook.SaveAs (Excel)
Сохраняет изменения в книге в другом файле.
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Синтаксис
expression. SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Выражение Переменная, представляющая объект Workbook .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FileName | Необязательный | Variant | Строка, указывающая имя сохраняемого файла. Можно включить полный путь; В противном случае Microsoft Excel сохранит файл в текущей папке. |
FileFormat | Необязательный | Variant | Формат файла, используемый при сохранении файла. Список допустимых вариантов см. в перечислении XlFileFormat . Для существующего файла форматом по умолчанию является последний указанный формат файла; Для нового файла по умолчанию используется формат используемой версии Excel. |
Password | Необязательный | Variant | Строка с учетом регистра (не более 15 символов), указывающая пароль защиты, который будет присвоен файлу. |
WriteResPassword | Необязательный | Variant | Строка, указывающая пароль резервирования записи для этого файла. Если файл сохраняется с паролем и пароль не предоставляется при открытии файла, он открывается только для чтения. |
ReadOnlyRecommended | Необязательный | Variant | Значение true для отображения сообщения при открытии файла, в котором рекомендуется открыть файл только для чтения. |
CreateBackup | Необязательный | Variant | Значение True для создания файла резервной копии. |
AccessMode | Необязательный | XlSaveAsAccessMode | Режим доступа к книге. |
ConflictResolution | Необязательный | XlSaveConflictResolution | Значение XlSaveConflictResolution , определяющее, как метод разрешает конфликт при сохранении книги. Если задано значение xlUserResolution, отображается диалоговое окно разрешения конфликтов. |
Если задано значение xlLocalSessionChanges, изменения локального пользователя принимаются автоматически.
Если задано значение xlOtherSessionChanges, изменения из других сеансов автоматически принимаются вместо изменений локального пользователя.
Если этот аргумент опущен, отобразится диалоговое окно разрешения конфликтов. AddToMru Необязательный Variant Значение true , чтобы добавить эту книгу в список недавно использовавшихся файлов. Значение по умолчанию — False. TextCodepage Необязательный Variant Игнорируется для всех языков в Microsoft Excel.
ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , он использует кодовую страницу, соответствующую языку системного языкового стандарта, используемого на текущем компьютере. Этот системный параметр доступен на вкладке панель управления>Регион и расположение языка> в разделе Текущее расположение. TextVisualLayout Необязательный Variant Игнорируется для всех языков в Microsoft Excel.
ПРИМЕЧАНИЕ. Когда Excel сохраняет книгу в одном из форматов CSV или текста, указанных с помощью параметра FileFormat , эти форматы сохраняются в логическом макете. Если текст слева направо (LTR) внедрен в текст справа налево (RTL) в файле или наоборот, логическая разметка сохраняет содержимое файла в правильном порядке чтения для всех языков в файле без учета направления. Когда приложение открывает файл, каждый запуск символов LTR или RTL отображается в правильном направлении в соответствии с диапазонами значений символов на кодовой странице (если только приложение, предназначенное для отображения точного макета памяти файла, например отладчик или редактор, не используется для открытия файла). Local Необязательный Variant Значение True сохраняет файлы на языке Microsoft Excel (включая параметры панели управления). Значение False (по умолчанию) сохраняет файлы на языке Visual Basic для приложений (VBA) (как правило, на английском языке США, если проект VBA, из которого выполняется Workbooks.Open, не является старым проектом VBA с интернационализацией XL5/95).
Замечания
Используйте надежные пароли, содержащие строчные и прописные буквы, цифры и знаки. В ненадежных паролях не используются сочетания таких элементов.
- Надежный пароль: Y6dh!et5
- Ненадежный пароль: House27
Используйте надежный пароль, который можно запомнить, чтобы не пришлось его записывать.
Пример
В этом примере создается новая книга, запрашивается имя файла, а затем она сохраняется.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Vba excel сохранить переменную
День добрый всем.
Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?
Или может это через классы делается
*С классами еще ни разу не работал..
==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..
Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него?
День добрый всем.
Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?
Или может это через классы делается
*С классами еще ни разу не работал..
==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..
Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него? PATRI0T
Сообщение День добрый всем.
Скажите, можно ли сделать так, чтобы один раз объявив переменную и загрузив в нее какое-то значение, оно там оставалось, пока не закрыта книга..
Может есть какие-то «глобальные» переменные, которые можно объявить вне процедур?
Или может это через классы делается
*С классами еще ни разу не работал..
==
Основная задача такая — для генерации документов word использую закладки. Все работает, документы создаются, но процедура создания самих шаблонов довольно утомительная. Полей много, (>200) и неудобно вставлять их имена в шаблон. Думал сделать макрос для word, который позволяет по горячей клавише показать выпадающий список с поиском Данные в этот список загружаются из excel файла..
Так вот, можно ли не открывать каждый раз файл и не загружать данные о полях из него? Автор — PATRI0T
Дата добавления — 25.01.2017 в 19:16
Источник
Хранение значений при завершении макроса
Когда макрос заканчивается, значения, хранящиеся в его переменных, не сохраняются на диск автоматически. Если макрос должен сохранить значение, он должен сохранить это значение вне себя до завершения выполнения макроса. В этом разделе описываются пять расположений, в которых можно легко хранить и извлекать значения макросов.
Переменные документа
Переменные документа позволяют хранить значения как часть документа или шаблона. Например, значения макросов можно хранить в документе или шаблоне, где находится макрос. Переменные можно добавить в документ или шаблон с помощью метода Add коллекции Variables . В следующем примере переменная документа сохраняется в том же расположении, что и макрос, выполняющийся (документ или шаблон), с помощью свойства ActiveDocument .
В следующем примере свойство Value с объектом Variable используется для возврата значения переменной документа.
Замечания
Используйте поле DOCVARIABLE для вставки переменной документа в документ.
Свойства документов
Как и переменные документа, свойства документа позволяют хранить значения как часть документа или шаблона. Свойства документа можно просмотреть в диалоговом окне Свойства .
Объектная модель Word разбивает свойства документа на две группы: встроенные и пользовательские. Настраиваемые свойства документа включают свойства, отображаемые на вкладке Настраиваемые в диалоговом окне Свойства . Встроенные свойства документа включают свойства на всех вкладках в диалоговом окне Свойства , за исключением вкладки Настраиваемая .
Чтобы получить доступ к встроенным свойствам, используйте свойство BuiltInDocumentProperties , чтобы вернуть коллекцию DocumentProperties , которая включает встроенные свойства документа. Используйте свойство CustomDocumentProperties объекта Document или Template , чтобы вернуть коллекцию DocumentProperties , включающую настраиваемые свойства документа. В следующем примере создается пользовательское свойство документа с именем YourName в том же расположении, что и запущенный макрос (документ или шаблон).
Встроенные свойства документа нельзя добавить в коллекцию DocumentProperties , возвращаемую свойством BuiltInDocumentProperties объекта Document или Template . Однако можно получить содержимое встроенного свойства документа или изменить значение встроенного свойства документа для чтения и записи.
Используйте поле DOCPROPERTY для вставки свойств документа в документ.
Элементы автотекста
Записи автотекста можно использовать для хранения сведений в шаблоне. В отличие от переменной документа или свойства, записи автотекста могут включать элементы за пределами переменных макросов, такие как форматированный текст или рисунок. Используйте метод Add с коллекцией AutoTextEntries , чтобы создать новую запись автотекста. В следующем примере создается запись автотекста с именем MyText, которая содержит содержимое выделенного фрагмента. Если следующая инструкция является частью макроса шаблона, новая запись автотекста сохраняется в шаблоне, в противном случае запись автотекста хранится в шаблоне, присоединенном к документу, в котором находится инструкция.
Используйте свойство Value с объектом AutoTextEntry , чтобы получить содержимое объекта записи AutoText.
Файлы параметров
Вы можете задать и извлечь сведения из файла параметров с помощью свойства PrivateProfileString объекта System . Структура файла параметров Windows аналогична WIN.INI-файлу Windows 3.1. В следующем примере ключу DocNum присваивается значение 1 в разделе DocTracker в файле Macro.ini.
После выполнения приведенной выше инструкции файл Macro.ini содержит следующий текст.
Свойство PrivateProfileString содержит три аргумента: FileName, Section и Key. Аргумент FileName используется для указания пути к файлу параметров и имени файла. Аргумент Section указывает имя раздела, которое отображается между квадратными скобками перед связанными ключами (не включайте скобки с именем раздела). Аргумент Key указывает имя ключа, за которым следует знак равенства (=) и параметр .
Используйте то же свойство PrivateProfileString для получения параметра из файла параметров. В следующем примере извлекается параметр DocNum в разделе DocTracker в файле Macro.ini.
Реестр Windows
Вы можете задать и получить сведения из реестра Windows с помощью свойства PrivateProfileString . В следующем примере извлекается каталог программы Word 2007 из реестра Windows.
Свойство PrivateProfileString содержит три аргумента: FileName, Section и Key. Чтобы вернуть или задать значение для записи реестра, укажите пустую строку («») для аргумента FileName . Аргумент Section должен быть полным путем к подразделу реестра. АргументОм Key должно быть имя записи в подразделе, указанном в разделе Section.
Вы также можете задать сведения в реестре Windows, используя следующий синтаксис PrivateProfileString .
Значение System.PrivateProfileString(FileName, Section, Key) =
В следующем примере запись DOC-PATH задается как «C:My Documents» в подразделе Options для Office Word 2007 в реестре Windows.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
1 |
|
Как сохранить переменную после закрытия файла08.07.2021, 23:52. Показов 2027. Ответов 15
Здравствуйте, дорогие прогеры! У меня встал вопрос сохранения переменной после закрытия файла- для того, чтобы она сохраняла свое значение и при нажатии кнопки дальше продолжала увеличиваться, например
0 |
2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,141 |
|
09.07.2021, 00:24 |
2 |
Если эксель, то в ячейке можно…
0 |
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
09.07.2021, 00:27 [ТС] |
3 |
Если эксель, то в ячейке можно… Если можно, пожалуйста поподробнее объясните -мой макрос увеличивает значение на 1 при каждом щелчке мыши и вот хочется чтобы после закрытия excel последнее значение сохранялось
0 |
297 / 157 / 86 Регистрация: 01.04.2020 Сообщений: 436 |
|
09.07.2021, 01:09 |
4 |
Если можно, пожалуйста поподробнее объясните Если эксель, то почитайте про Событие Workbook.BeforeClose
0 |
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
09.07.2021, 07:34 [ТС] |
5 |
Если эксель, то почитайте про Событие Workbook.BeforeClose То есть перед закрытием написать, чтобы ячейка была равна моей переменной?
0 |
bite 3699 / 3131 / 694 Регистрация: 13.04.2015 Сообщений: 7,323 |
|
09.07.2021, 07:55 |
6 |
mishapelevin, а между запусками макроса переменная должна сохранять своё значение?
0 |
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
09.07.2021, 07:56 [ТС] |
7 |
Да, переменная сохраняет свое значение до тех пор, пока не закрыт файл excel
0 |
I can bite 3699 / 3131 / 694 Регистрация: 13.04.2015 Сообщений: 7,323 |
||||
09.07.2021, 08:01 |
8 |
|||
тогда проще
До увеличения переменной читаем её значение из ячейки, а после увеличения записываем обратно.
0 |
OLEGOFF 1062 / 506 / 137 Регистрация: 27.02.2013 Сообщений: 1,451 |
||||
09.07.2021, 09:21 |
9 |
|||
mishapelevin, можно применить вместо Value значение ячейки Font.Color или Borders.Color для сохранения переменной.
0 |
810 / 465 / 180 Регистрация: 09.03.2009 Сообщений: 1,577 |
|
09.07.2021, 09:51 |
10 |
Еще можно в свойства файла писать.
0 |
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
09.07.2021, 10:28 [ТС] |
11 |
Ок, я понял, спасибо большое, дорогие форумчане!
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
09.07.2021, 11:22 |
12 |
В CustomDocumentProperties.
1 |
mishapelevin 0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
||||
09.07.2021, 16:09 [ТС] |
13 |
|||
mishapelevin, можно применить вместо Value значение ячейки Font.Color или Borders.Color для сохранения переменной.
Извините, но почему то при компиляции выдает ошибку 9- out of range
0 |
1062 / 506 / 137 Регистрация: 27.02.2013 Сообщений: 1,451 |
|
09.07.2021, 17:30 |
14 |
mishapelevin, у меня все работает.
0 |
bite 3699 / 3131 / 694 Регистрация: 13.04.2015 Сообщений: 7,323 |
|
09.07.2021, 18:13 |
15 |
ошибку 9- out of range У тебя нет листа «Лист1»
0 |
0 / 0 / 0 Регистрация: 06.07.2021 Сообщений: 12 |
|
09.07.2021, 21:31 [ТС] |
16 |
Спасибо, ребята! Все пошло!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
09.07.2021, 21:31 |
Помогаю со студенческими работами здесь Как сохранить состояние кнопки (цвет) после закрытия программы? Как сохранить свойство Text элемента TextBox после закрытия программы? Как создать переменную, которая будет сохранять свое значение , даже после закрытия приложения? Как сохранить содержимое выбранного файла в переменную? Как сохранить переменную или объект после авторизации в приложении Сохранить backgroundImage после закрытия проги Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 16 |
���������� � ��������� �������� ���������� � Excel, PowerPoint � Project
���������� � ��������� �������� ���������� � Excel, PowerPoint � Project
���������������� �������� ���������� ������������� ������� ���� ��� ������������ ��� ��������� �������� ��� ����������� ���������� Office. �� ������ ������������ VBA ��� �������� ���������������� ������� ����������, ���������� �� �������, � ����� ��������� ���� ������ ��� ������ �������������. ��� �������� �������� ����� ������������ ������ ���������, � ������� ��� �������, ��� �� �������� ������������ � ���������� ������� � ��������� ����� — ��� ������������� ����������� ������ � ����������.
��� �������� ������ �������� ��������� � Excel, PowerPoint ��� Project (� Word ���� ��� ������������� ����� ��������������� �������� �������) �������� ����� Add �� ��������� ������� CustomDocuraent Properties ����� ���������. ����������� ���� ������ ����������� � Excel, ��� ������ ActiveWorkbook �������� �������� ������� ����� �� ����� ���������� ��������� (� Word � PowerPoint ��� ������� ActiveDocument � Active Presentation ��������������):
ActiveWorkbook.CustomDocumentProperties.Add_
Name:= "Button Count", Li nkToCont ent:=False,_
Type:= msoPropertyTypeNumber, Value:=0
�������� LinkToContent ������ ����� �������� False, ���� �� ���������� �������� ���������� � ���� ����������������� �������� ��������� (��� ������� ��������� ����� ��������� �������� True, ���� �� ������, ����� �������� �������� ���� ������� � ���������� ������ Excel ��� ��������� Word). �������� ���� ���������� ��� ������ ��� ��������; � �������� �������� ��������� ������������� ����� ��������, ��� msoPropertyTypeNumber, msoPropertyTypeBoolean, msoPropertyTypeDate, msoPropertyTypeFloat ��� msoPropertyTypeString.
��� ���������� ��� ��������� ����������, ���������� � ���� �������� ���������, ������������ �������� Value ������� Property. �����������, ��� �� ����������� ����� �������� ���������, ��� ButtonCount, ��� ���������� ���������� ������� ����� �� ������ ����� �� ���� ���������. ����������� ���� �������� ���� ��������� � ��������� �������� �������� ����� ������� ������ �� ������:
With ActiveWorkbook._
CustomDocument Properties("ButtonCount")
.Value = .Value + 1
End With
����������� ���� ������ ������������ ���������� ��������� ������������ ������. � ���� ������ ������������ ����� ��������� � ���, ��� �� ������� �� ������ ������ ������������� ���������� ���, ���� � ��� ������, ���� ����� �������� �������� ������������ ���������� � ���������� ������. �����������, ��� �������� ��������� cint Cut Of fValue ������ ������ ������ ������������ ���������� �������, ����� ���������� �������� ��������� ������������ �� ������ � ������ ���.
With
ActiveWorkbook.CustomDocumentProperties("ButtonCount")
' ��������� ������������ �������� ��������
intCurrentCount = .Value
' ����������� ��������� ��� ���������� �������
If intCurrentCount > cintCutOffValue Then
MsgBox "�� �������� �� ������ " _
& " ������ " & cintCutOffValue _
& " ���."
End If
' ���������� �������� ��������
.Value == intCurrentCount + 1
End With
intCurrentCount = ActiveWorkbook_
.CustomDocumentProperties("ButtonCount").Value
� Access � Excel ����� ������ ��������� ������, ����������� ��� ������ VBA ���������, ����� � ��������� — � �������� ���� ������ (Access) ��� ������� ����� ������� ����� (Excel). ������������ ��������, ��������� � �������� ��������, ������� � ���, ��� ������ ����� ������������� � �� ����� ��������, ���� ������ �� �� ����������� ��������������� ��������.
��� ��������� ��������� ������� ��� ���������� ������ �� ����� ��������� � ����� ����������, �������������� VBA. �� ������ ��������� �������� � ������� Window (� ���� ��������� �� ������), ��������� ���������� Save Setting � Get Setting, � ����� ��������� ������ � ��������� �����. ��� ��� ������� ����������� � ����� 20.
сохранение начальной переменной |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |