|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.06.2009, 23:28 | #1 |
Пользователь
Регистрация: 02.06.2009
Сообщений: 49
|
Данные из таблицы в поле EQ
Всем привет
Возник такой вопрос…. Таблицу заполняю случайными числами: Код:
Код:
Android & Linux
Последний раз редактировалось CaptainNemo; 04.06.2009 в 23:34. |
05.06.2009, 00:15 | #2 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Лишний абзац внутри скобок в параметрах ключа \al.
Но если его убрать — всё равно не вижу матрицы. Может, лишняя ; после последнего элемента?.. Попробуйте, включив непечатаемые знаки, сравнить поле с каким-нибудь образцовым (которое работает нормально).
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
05.06.2009, 06:37 | #3 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Все сделано правильно, но когда вы берете данные из ячеек, то почему-то уверены, что там всегда двузначное число. Это не так.
Ошибка возникает, если в таблице появляется однозначное число. Тогда в вашу переменную попадает кроме числа еще и знак абзаца, что и дает ошибку. Используйте вместо функции Left функцию Val, которая вам даст числовое значение из ячейки. Либо попробуйте объявить переменные var1-var6 как Integer, может быть Word сам справится с конвертированием из типа в тип. Первый вариант я попробовал, работает. Второй попробуйте сами. И еще. При формировании кода поля уберите последнюю точку с запятой (перед закрывающей круглой скобко). Тогда ваша матрица будет выглядеть симметрично. Хотелось бы увидеть универсальный макрос, который формировал бы матрицу вне зависимости от количества ячеек в таблице. Добавлено позже Попробовал я сделать вне зависимости от количества ячеек. Почему-то не получается сделать матрицу больше чем 5 строк на 7 столбцов. Код формирует, но поле выдает ошибку. И уберите пробелы между цифрами. Пользуйтесь ключем \hs для задания расстояния между столбцами. Читаем здесь
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 05.06.2009 в 07:06. |
05.06.2009, 10:00 | #4 |
Пользователь
Регистрация: 02.06.2009
Сообщений: 49
|
Да действительно, val помогает. Ещё немного подправил пробелы и выравнивание. Получилось довольно прилично. Но я вот для чего это всё пытался сделать… В конечном итоге хочу конвертировать эту матрицу в MS Equation3. И хочу сделать это в коде…
В версиях MS Word до 2007* (в 2007-ом у меня выскакивает ошибка «формула слишком велика для преобразования») двойным кликом по полю EQ формула конвертировалась в MS Equation. Сколько вчера с макрорекодером не экспериментировал, так и не понял, как это можно в коде сделать. Единственное, что пришло в голову, написать что-нибудь вроде этого: Код:
Android & Linux
|
05.06.2009, 10:06 | #5 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
А зачем? Поле прочитается и отредактируется на любом компе. MS Equation — не обязательно.
Я тоже пробовал, увидев ваш пример. Тоже не получилось.
Лучше день потерять — потом за пять минут долететь!©
|
05.06.2009, 10:15 | #6 |
Пользователь
Регистрация: 02.06.2009
Сообщений: 49
|
Всё дело в том, что на многих форумах по VBA-программированию проскальзывали вопросы, как сгенерировать в коде формулу MS Equation на основе каких либо данных, например, полученных в Excel. Причём эти вопросы так и остались без ответа.
Тут матрицу я только для примера взял, можно интеграл сделать, или любую другую формулу в виде поля EQ. Интересно, возможно ли сделать не только поле, но и Equation?
Android & Linux
|
05.06.2009, 10:47 | #7 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
могу предложить использовать для этой цели MathType. Насколько я помню, он поддерживает VBA
Лучше день потерять — потом за пять минут долететь!©
|
05.06.2009, 13:55 | #8 | |
Пользователь
Регистрация: 02.06.2009
Сообщений: 49
|
Цитата:
Много лет уже приходится оформлять публикации с использованием редактора формул. Горький опыт научил, что MathType – самая проблемная программа в этом плане. Искажает кириллические символы на разных машинах. А если версии этой программы на разных машинах отличаются – не открывается для редактирования. Поэтому всегда использую MS Equation. Как показывает практика, он почти всегда корректно работает на разных машинах и вне зависимости от того, какая версия Office установлена. Но на счёт применения VBA в MathType услышал впервые. Вроде бы даже искал раньше в инете что-либо на подобные темы, но не нашёл… Может подскажете, где это можно почитать…
Android & Linux
|
|
15.06.2009, 15:58 | #9 |
Пользователь
Регистрация: 02.06.2009
Сообщений: 49
|
Может кому-нибудь пригодиться. Попробовал в Equation.3 пересылать формулы из VBA таким вот незамысловатым кодом… Получается.
Код:
Android & Linux
|
15.06.2009, 16:36 | #10 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Осталось заметить, что это равенство неправильное. Все-таки единице равна не сумма синуса и косинуса, а сумма их квадратов.
Теорема Пифагора, однако!
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 15.06.2009 в 16:53. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ссылка на Excel-файл через поле таблицы | megaten | БД в Delphi | 1 | 29.05.2009 01:18 |
Данные в "Поле (элемент ActiveX) | SolexVK | Microsoft Office Excel | 1 | 07.05.2009 11:53 |
Добавить данные в поле (в конец) | John_chek | БД в Delphi | 6 | 20.08.2007 14:23 |