Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2008, 21:22   #1
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
Вопрос Word. автоматическая замена значений

Проблема такая:
файл представляет собой кучу формул (которые не в редакторе формул набиты, а просто, как текст). После знака равенства подставлены числа, потом снова знак равенства и результат. То есть вид примерно такой: х+у=1+2=3.
Если понадобилось изменить значения переменных, чтобы формула приняла вид такой, например, х+у=3+4=7, то руками это делать очень ломает, ибо файл длинный, а иксы с игреками 1000 раз встречаются.

Вопрос такой:
Можно ли изначально создавать создавать файл с расчётом на то, что значения переменных я задам только один раз и при этом они везде поменяются?
Заранее спасибо!
belikk вне форума Ответить с цитированием
Старый 03.11.2008, 05:59   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Здесь есть немного информации по теме.

Посмотрите пример во вложении:

Чтобы увидеть коды полей, нажмите Alt+F9
Увидеть \ скрыть код выделенного поля - Shift+F9

Можно менять значения переменных на листе (переменные выделены зелёным цветом в той же строке, где и слово ОБНОВИТЬ), после чего дважды щелкнуть мышью на слове ОБНОВИТЬ.

PS: Есть один нюанс... Значения переменных L = 0.0147 ; C = 1987 ; π = 3,14 ; d = 0,828 m. изменяйте аккуратно, то есть, если Вам надо изменить L = 0.0147 на что-нибудь другое, например, на L = 0.568, то поставьте курсор в L = 0.0147 сразу после точки, введите 568, а потом 4 раза нажмите Delete. Всё это надо, чтобы не изменить границы поля, определяющего значение переменной.
Вложения
Тип файла: rar f.rar (6.2 Кб, 93 просмотров)

Последний раз редактировалось EducatedFool; 03.11.2008 в 06:18.
EducatedFool вне форума Ответить с цитированием
Старый 03.11.2008, 08:05   #3
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию

спасибо, именно то, что нужно!
belikk вне форума Ответить с цитированием
Старый 03.11.2008, 10:38   #4
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию

А не подскажете, как в 2007 офисе сделать, чтобы были видны серые скобочки, которые на печать не выводятся? Вкладок "Сервис" –> "Параметры" в этом офисе нет(
belikk вне форума Ответить с цитированием
Старый 03.11.2008, 11:58   #5
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию

+ ещё вопрос: допустим, есть такое выражение z=х+у=3+4=7. Как можно взять эту цифру семь, которая посчиталась автоматически, и присвоить это значение переменной z? Просто нельзя выделить поле, внутри которого забита формула, и присвоить значение этого поля переменной
belikk вне форума Ответить с цитированием
Старый 03.11.2008, 12:19   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
А не подскажете, как в 2007 офисе сделать, чтобы были видны серые скобочки, которые на печать не выводятся? Вкладок "Сервис" –> "Параметры" в этом офисе нет(
Открываем редактор VBA, и в окне Immediate (вызывается нажатием Ctrl + G) вводим одну из следующих строк

ActiveWindow.View.FieldShading = wdFieldShadingNever
ActiveWindow.View.FieldShading = wdFieldShadingWhenSelected
ActiveWindow.View.FieldShading = wdFieldShadingAlways


и нажимаем Enter.

В Вашем случае нужна последняя строка (ActiveWindow.View.FieldShading = wdFieldShadingAlways).
Должно сработать. Офиса 2007 у меня нет, так что не проверял. Хотя где-нибудь в одном из меню должен быть этот пункт...


Цитата:
допустим, есть такое выражение z=х+у=3+4=7. Как можно взять эту цифру семь, которая посчиталась автоматически, и присвоить это значение переменной z?
Вроде бы как-то можно. Очень давно я занимался этими формулами, так что сейчас и не вспомню.
В любом случае, вся необходимая информация присутствует в справке Word-a
Присвоить значение переменной можно и макросом, но в данном случае проще будет сделать по-другому.

В крайнем случае, в следующую формулу (ту, в которой нужно значение Z), можно вставить полностью выражение, вычисляющее значение Z в предыдущей формуле. Конечно, получится нагромождение формул, и вычислений будет происходить больше, но если формул не очень много - то можно сделать и так.

Последний раз редактировалось EducatedFool; 03.11.2008 в 12:36.
EducatedFool вне форума Ответить с цитированием
Старый 04.11.2008, 20:28   #7
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию

спасиюо! К сожалению, формул многовато. В который раз сталкиваюсь с небходимостью изучить VBA
belikk вне форума Ответить с цитированием
Старый 07.03.2009, 00:21   #8
Окоча Юра
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 122
По умолчанию

выдели цифру 7, нажми в ворде 2003 вставка-закладка, закладке дай имя "Z". Потом нажми таблица-формула. И создавай формулу какую хочеш используя закладку "Z". Удачи.
Юрик
Окоча Юра вне форума Ответить с цитированием
Старый 07.03.2009, 11:03   #9
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от belikk Посмотреть сообщение
А не подскажете, как в 2007 офисе сделать, чтобы были видны серые скобочки, которые на печать не выводятся? Вкладок "Сервис" –> "Параметры" в этом офисе нет(
Можно. Это границы закладок. Смотрим этот пост. Там даже картинки есть
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена закладки в тексте документа WORD на мой текст Tiolic Общие вопросы Delphi 4 23.12.2017 15:18
автоматическая отправка сообщений DeDoK Общие вопросы Delphi 3 16.10.2008 08:50
Автоматическая подстановка последнего значения d_yure Microsoft Office Excel 9 28.12.2007 08:30
Автоматическая группировка buk Microsoft Office Excel 5 20.09.2007 13:35
Автоматическая авторизация Novice777 Работа с сетью в Delphi 2 01.03.2007 16:56