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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 16:07   #1
4rex
 
Регистрация: 27.09.2010
Сообщений: 5
По умолчанию Проблемы с вычисляемыми полями при вставке в формулу, Word 2007

Добрый день!

Помогите, пожалуйста.
В программе MS Office 2007, Word, во встроенный редактор формул я вставляю поля с вычислениями (пример: {=(1+к1)*(2-к2)}, где к1 и к2 - закладки). В этих полях есть соответственно знаки умножения и знаки минуса. Пока документ открыт - все замечательно пересчитывается (Ctrl+A и F9) . Как только я зыкрываю документ и заново его открываю, пересчитываю значения (Ctrl+A и F9) - у меня в формулах все знаки умножения (*) подменяются похожими звездочками и на них выскакивает (при пересчете по F9) ошибка: "!Синтаксическая ошибка,*". Аналогично и со знаком минус(-). Можно ли как-то исправить это, чтобы после открытия опять была возможность пересчета?

Если заменить опять символы на звездочки - все считается опять замечательно (до тех пор, пока не происходит закрытие документа и повторное открытие)

Если поля расположены не в формуле, а в тексте, то такого не происходит. Пример прилагаю.
Вложения
Тип файла: rar Пример.rar (881.8 Кб, 50 просмотров)
4rex вне форума Ответить с цитированием
Старый 27.09.2010, 17:41   #2
forumWord
Пользователь
 
Регистрация: 23.09.2010
Сообщений: 65
По умолчанию

4rex
пока только так придумал.
Встань на формулу, чтобы появилась вкладка, связанная с формулами, - Сервис - Обычный текст.
forumWord вне форума Ответить с цитированием
Старый 27.09.2010, 18:00   #3
4rex
 
Регистрация: 27.09.2010
Сообщений: 5
По умолчанию

forumWord, пробовал - но при этом "!Синтаксическая ошибка,*" только жирным шрифтом становится.

Да и мне надо не просто текст отображать - а еще делать пересчеты (при изменении закладок ж1, ж2 ...).

Как я понимаю - word при сохранении заменяет символ умножения * (и символ вычитания -) на какой-то свой.
Облазил весь инет, убрал автозамены, очистил файл MSO1049.acl (правда только в одном месте - C:\Documents and Settings\Администратор\Application Data\Microsoft\Office).

Что делать - ума не приложу... Помогите, пожалуйста. Да еще как назло и viter.alex по семейным делам надолго сбегает...

Я бы сделал как связку Excel - Word, но и там если делать специальную вставку ВНУТРИ формулы в Worde - при повторном открытии теряется связь с ячейкой Excel-я...
4rex вне форума Ответить с цитированием
Старый 27.09.2010, 20:42   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Замени знаки умножения функцией умножения PRODUCT:
{ =PRODUCT((1+ж1/100);(1+ж2/100);(1+ж3/100);(1+ж4/100)) \# #,###}
И зачем два раза пересчитывать одну и ту же формулу, если результат можно поместить в закладку? Кстати, зачем здесь вообще поля помещены внутрь формулы?
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 27.09.2010 в 20:45.
viter.alex вне форума Ответить с цитированием
Старый 27.09.2010, 21:29   #5
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию

реализация с закладками достаточно бредовая. нельзя в полях (любых в том числе в формулах) использовать другие поля. не будет работать.
пытаетесь контрольную какую то автоматом посчитать ? возьмите лучше mathcad
bdfy вне форума Ответить с цитированием
Старый 28.09.2010, 06:57   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от 4rex Посмотреть сообщение
…Аналогично и со знаком минус(-).…
Вычитание это то же сложение, только с обратным знаком. Значит, можно заменить функцией сложения SUM, которая работает аналогично уже показанной функции PRODUCT
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 28.09.2010 в 07:02.
viter.alex вне форума Ответить с цитированием
Старый 28.09.2010, 09:35   #7
forumWord
Пользователь
 
Регистрация: 23.09.2010
Сообщений: 65
По умолчанию

4rex
я не точно описал порядок действий.
Сделай в точности, как я сейчас напишу:
вставь курсор в формулу - Shift + F9 - замени знаки умножения, используя клавишу звёздочка на клавиатуре, - Shift + F9 - выдели всю формулу (щ. по синей штучке с тремя точками) - перейди на вкладку, связанную с формулами, - Сервис - Обычный текст.
У меня всё получилось и вычисления происходят (т.е. формула в текст не превращается, как ты писал).
forumWord вне форума Ответить с цитированием
Старый 28.09.2010, 11:43   #8
4rex
 
Регистрация: 27.09.2010
Сообщений: 5
По умолчанию

Александр, спасибо за подсказку, но она не спасает.
Ситуация следующая (я заменил знаки умножения на процедуру PRODUCT): все считает, закрываем документ, открываем заново, выделяем все, обновляем (ctrl+A, F9) - и получаем опять ошибку: "!Синтаксическая ошибка,(." При просмотре формулы (Alt+F9) видим, что название процедуры стало наклонным PRODUCT. Если заново напишем название процедуры прямыми заглавными - то опять начинает считать... В чем может быть проблема?

bdfy, я использую закладки в полях - вроде пересчеты работают нормально, глюков именно с закладками не наблюдал.

forumWord, СПАСИБО ОГРОМНОЕ. Получилось все. Пересчеты так же делает.

Это необходимо для автоматизации контрольной, но не одной, а на всю группу - чтобы можно было подставлять любые значения (из тысячи вариантов) и происходил автоматический расчет. Почему не использую mathcad - есть требования по оформлению работы и для этого лучше всего подходит word, но столкнулся с вышеуказанной проблемой.
Может у вас будут мысли, как это сделать по-другому? Буду очень признателен за любые идеи!
4rex вне форума Ответить с цитированием
Старый 28.09.2010, 13:01   #9
forumWord
Пользователь
 
Регистрация: 23.09.2010
Сообщений: 65
По умолчанию

4rex
а зачем поле помещено в формулу?
forumWord вне форума Ответить с цитированием
Старый 28.09.2010, 13:35   #10
4rex
 
Регистрация: 27.09.2010
Сообщений: 5
По умолчанию

forumWord,

Я прикрепил неудачный пример, где вычисление выполнено в строку. Просто в следующих примерах необходимо подставлять данные в формулы с дробями и степенями. Их удобно рисовать именно в редакторе формул.

Подскажите, пожалуйста, еще - когда я сохраняю *.docx в *.doc, формулы преобразуются в картинки и очень коряво выглядят при распечатке и просмотре - можно ли как-то улучшить качество формул?
Это (конвертация *.docx в *.doc) необходимо для сдачи файла преподу "без полей". Или есть какие-нибудь иные средства "маскировки" полей (чтобы они не были видны по Alt+F9)?
4rex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с Word 2007 Tokvemada Microsoft Office Word 12 02.11.2011 20:40
Проблемы с со словарем Word 2007 Tokvemada Microsoft Office Word 1 16.08.2010 15:25
Форматирование связанных таблиц при вставке в Word из Excel bdfy Microsoft Office Word 0 12.11.2009 20:56
Проблема с полями в Word 2007 Anry Microsoft Office Word 1 27.05.2008 07:46
Проблема с вычисляемыми полями DeadMan БД в Delphi 3 06.06.2007 13:28