Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 8 ]
- Александр Б.
- генерал-майор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 16.02.2013
- Сообщений: 275
- Поблагодарили: 60
- За сообщение: 1
Тема: ActiveDocument.Variables начальное значение при создании
Когда переменная Word создается (и ранее ее не было), то ее значение равно " ", то есть строковая переменная, которая содержит пробел? Это верно?
У меня работает такой код:
Добавляю новую переменную:
ActiveDocument.Variables.Add Name:=strVariableName
Записываю в нее значение, если инициализации не было
If ActiveDocument.Variables.Item(strVariableName).Value = " " Then
ActiveDocument.Variables.Item(strVariableName).Value = intValue
End If
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir
- Boris_R
- полковник
- Неактивен
- Зарегистрирован: 07.08.2012
- Сообщений: 234
- Поблагодарили: 110
Re: ActiveDocument.Variables начальное значение при создании
Александр Б. пишет:Когда переменная Word создается (и ранее ее не было), то ее значение равно " ", то есть строковая переменная, которая содержит пробел? Это верно?
У меня работает такой код:
Добавляю новую переменную:
ActiveDocument.Variables.Add Name:=strVariableName
Записываю в нее значение, если инициализации не было
If ActiveDocument.Variables.Item(strVariableName).Value = " " Then
ActiveDocument.Variables.Item(strVariableName).Value = intValue
End If
При выполнении такого кода:
ActiveDocument.Variables.Add Name:=strVariableName
MsgBox IsEmpty(ActiveDocument.Variables.Item(strVariableName).Value)
MsgBox дает значение True, т.е. значение переменной "Пусто"?
- Александр Б.
- генерал-майор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 16.02.2013
- Сообщений: 275
- Поблагодарили: 60
Re: ActiveDocument.Variables начальное значение при создании
IsEmpty дает False. Это факт. До этого удалил все переменные.
Sub УдалитьВсеПеременные()
Dim aVar As Variable
For Each aVar In ActiveDocument.Variables
aVar.Delete
Next aVar
End Sub
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir
- Александр Б.
- генерал-майор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 16.02.2013
- Сообщений: 275
- Поблагодарили: 60
Re: ActiveDocument.Variables начальное значение при создании
Собственно говоря, у меня функция IsEmpty не работала, поэтому пришлось заменить ее на сравнение с пробелом " ". Просто хотел узнать, кто что по этому поводу скажет. При создании переменной Word в нее точно записывается один пробел. Не два " ", не ноль "", а ровно один " ".
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir
- aap77
- генерал-полковник
- Неактивен
- Зарегистрирован: 12.09.2011
- Сообщений: 925
- Поблагодарили: 243
- За сообщение: 1
Re: ActiveDocument.Variables начальное значение при создании
Александр Б. пишет:Собственно говоря, у меня функция IsEmpty не работала, поэтому пришлось заменить ее на сравнение с пробелом " ". Просто хотел узнать, кто что по этому поводу скажет. При создании переменной Word в нее точно записывается один пробел. Не два " ", не ноль "", а ровно один " ".
Правильно, поэтому IsEmpty будет всегда False, т.к. пробел является значением.
Функция УдалитьВсеПеременные имеет один серьезный недостаток. Если Вы создаете документ или шаблон с переменными, то при использовании этой функции можно потерять нужные, уже созданные переменные.
Проверить наличие переменной можно функцией:
Public Function VarExist(VarName As String) As Boolean
On Error Resume Next
If ActiveDocument.Variables(VarName).Name <> "" Then
If Err.Number = 0 Then
VarExist = True
Else
VarExist = False
End If
End If
End Function
Также при использовании Variables есть различия между ActiveDocument.Variables и ThisDocument.Variables.
ThisDocument.Variables относится к присоединенному шаблону.
- Александр Б.
- генерал-майор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 16.02.2013
- Сообщений: 275
- Поблагодарили: 60
Re: ActiveDocument.Variables начальное значение при создании
aap77 пишет:ThisDocument.Variables относится к присоединенному шаблону.
Да, с шаблонами тоже интересно. Особенно с учетом того, что присоединенных шаблонов может быть несколько, если не ошибаюсь.
Мне Variables понадобились, чтобы сохранять в них настройки нумерации названий. Для стандартных подписей "Рисунок", "Таблица" и "Формула" это не нужно, а вот дополнительные подписи постоянно сбоят, если им принудительно не установить нумерацию. В шаблоне Variables мне не нужно сохранять, я их создаю по мере необходимости в самом документе. Они создаются либо автоматически (если их нет, а они нужны), либо принудительно по соответствующему макросу. Поэтому даже если кто-то очистит все Variables, они будут заново созданы, когда понадобится.
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir
- aap77
- генерал-полковник
- Неактивен
- Зарегистрирован: 12.09.2011
- Сообщений: 925
- Поблагодарили: 243
Re: ActiveDocument.Variables начальное значение при создании
Александр Б. пишет:aap77 пишет:ThisDocument.Variables относится к присоединенному шаблону.
Да, с шаблонами тоже интересно. Особенно с учетом того, что присоединенных шаблонов может быть несколько, если не ошибаюсь.
Присоединенных шаблонов может много. И к их Variables можно также обращаться. Через VBProjects.
Вообще Variables можно использовать для хранения информации, аналогично файлам доступа VBA. Это очень удобно, избавляет от написания лишнего кода, а также не создает лишних .txt файлов, которые связаны с получением данных.
Я стараюсь создавать имена каждой переменной Variable с префиксом и суффиксом через (_). Это позваляет сортировать переменные по группам, подгруппам и т.п.
- aap77
- генерал-полковник
- Неактивен
- Зарегистрирован: 12.09.2011
- Сообщений: 925
- Поблагодарили: 243
Re: ActiveDocument.Variables начальное значение при создании
Интересное замечание:
При создании новой Variable, по умолчанию значение Value = " " (1 пробел). Если после этого задать значение Value = "" (без пробелов), то Variable автоматически удалится!!!
Сообщений [ 8 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
ActiveDocument.Variables начальное значение при создании
Работу с текстами можно сравнить с бурным морем. В этом бумажном море очень сложно не утонуть, если пытаться одолеть его вплавь, но оно покоряется большому кораблю, такому как редактор Microsoft Word, и та же работа делается выполнимой и преодолимой. На портале о Microsoft Office Word вы узнаете про: эта операция прервана из-за ограничений outlook.
Однако, как корабль не может плыть сам, без участия капитана и команды, так и мощная программа не будет работать без управления человека. На портале о Microsoft Office Word вы узнаете про: word не отображает ссылки.
Не любой человек сможет управлять судном, не любой пользователь сможет правильно и эффективно работать в Ворде. На портале о Microsoft Office Word вы узнаете про: как подтянуть данные из excel в word.
То есть, вы, конечно, легко разберетесь с основными настройками самостоятельно, но многие тонкости останутся скрытыми. На портале о Microsoft Office Word вы узнаете про: как сделать рамку в ворде 10 с штампом.
Для того чтобы научиться как следует управлять этим кораблем, стоит посетить форум Ворд Эксперт. Полученных здесь сведений о создании шаблонов, написании макросов для самых различных операций редактирования, форматирования, создания и оформления текста, иллюстраций, таблиц, вам хватит для того, чтобы сделать механическую работу эффективной и значительно сократить время на выполнение различных операций. На портале о Microsoft Office Word вы узнаете про: как изменить параметры вставки word.
На форуме вы найдете советы по оптимальным настройкам разных версий Ворда, готовые решения, список источников, которые полезно изучить, рекомендации по использованию горячих клавиш и многое другое. Наш сайт о Microsoft Office Word даст ответ про: как вставить в word pdf.
Также можно оставить запрос на выполнение необходимой вам работы по автоматизации или оптимизации вордовских операций. Наш сайт о Microsoft Office Word даст ответ про: vba формы.