Русский
English
Главная
RastrWin
Программа
Последние изменения
Часто задаваемые вопросы
Аннотация
Лицензирование и защита от копирования
Права Windows для пользователя RastrWin
Курсы
Компонентная архитектура
Интерфейс
Инструкция по установке
Документация, видео, презентации
Свидетельство о регистрации
RastrKZ
RastrMDP
RastrOS
ZamerSeti
Архив
Bars-Lincor
Расчетная модель
Система моделирования
Последние изменения
Программа
Инструкция пользователя
Инсталляция
RUStab
Загрузка
Последние изменения
Поддержка
Поддержка
Форум
Техподдержка
Персональная
Макро студия
Макро студия
Автоматизация
Работа с SQL
Оценка параметров ЛЭП и ТР
Эффективность размыкания сети
Анализ напряжений в Excel
Автоматизация с "AutoIt"
Создание графа сети из режима
Передача графики в SVG
Вариантные расчеты
Импортозамещение
О нас
О компании
Фотогалерея
Пользователи
Отчеты об использовании своего имущества
Реквизиты
Поддержка
Форум
Техподдержка
Персональная
Авторизация
Запомнить меня на этом компьютере
Забыли свой пароль?
Регистрация
Поиск по сайту
Подписка
Новости Bars- Lincor
Новости RastrWin
Общие новости
Новости RUStab
Изменение параметров
Hits
67409642
992
Hosts
3607478
515
Visitors
53562579
983
70
Главная
/
Поддержка
/
Форумы
/
Макро
Форум «Макро»
Версия для печати
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Тема: «
Связь с Excel
» в форуме:
Макро
Просмотров: 11380
Иван Трофимович
Постоянный посетитель
Всего сообщений:
76
Дата регистрации:
12.04.2008
Создано:
12.04.2008 23:21:21
в екселе производить расчеты параметров схемы мне удобнее. тот же каталог марок проводов и трансформаторов я для своей задачи организовать могу. Вопрос как проще всего данные из Excel занести в растр ?
import CSV ? - кликов мышкой немало, после сохранения диапазона екселевского в тхт приходится разделители разрядов и ячеек заменять (с запятой на точку и с пробела на ; ) а уже сам ввод CSV то еще можно автоматизировать как я понимаю.
В 2.22 добавлено
Цитата
3) Добавлен динамический обмен данных с MS Excell
вот что это значит и как это использовать ? можно ли екселевскую таблицу использовать "как связанную" ?
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
14.04.2008 18:45:42
Если нужно импортировать csv, то сначала неплохо бы поставить разделителем разрядов в windows точку ("Языки и стандарты" в панели управления). В самом Excel можно выводить файлы в формате MS-DOS (если текста нет), там разделитель как и положено в CSV-точка с запятой.
Если нужно автоматизировать ввод csv - есть метод ReadCSV, описанный в документации. Можно заняться сразу высшим пилотажем - читать прямо из книги Excel. Примеры есть в макростудии (там правда только запись, но она мало отличается от чтения).
Динамический обмен с Экселем - это механизм самого Экселя, который используется Растр. Этот механизм работает только из Растра в Эксель. Почитать можно про него в хелпе в разделе "Динмамический обмен с MS Excel". То есть скорее всего (хотя и не понятно что называется "свяазанной таблицей") этот механизм Вам не подойдет. Он нужен для построения всяких красивых отчетов и пр.
Профиль
Наверх
Иван Трофимович
Постоянный посетитель
Всего сообщений:
76
Дата регистрации:
12.04.2008
Создано:
14.04.2008 20:05:46
Цитата
То есть скорее всего (хотя и не понятно что называется "свяазанной таблицей") этот механизм Вам не подойдет
Связанная таблица что такое ? В Ворде Правка - специальная вставка - связать. таким образом можно таблицу вставить в ворд которая будет меняться вместе с основной таблицей расчетов в екселе.
Попробовал чтение из екселя сделать.
Код
Sub ReadCSV (file,table,param,sel,div
)
Set tnode=Rastr.Tables(table)
tnode.SetSel(sel)
tnode.WriteCSV 0,file,param,div
End Sub
' вывод в файл a1.csv данных из таблицы Узлы (node) ,
' список выводимых параметров ny,pn,qn (номер узла, активная и реактивная
' нагрузка),выборка по первому району (na=1) разделитель - запятая
ReadCSV "lab.csv","node","ny,pn,q
n","na=1",";"
lab.csv екселевский файл. разделители действительно точка с запятой. разделитель разрядов поменял. если блокнотом открывать - текст такой вот.
Код
1;25;17.45
2;25;17.45
3;25;17.45
результатов после запуска никаких
данные не импортируются. что я упустил ? или пример я не тот взял ?
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
15.04.2008 12:10:19
Так Вы пишете или читаете в файл ? У Вас функция называется ReadCSV, однако при этом внутри нее вызывается WriteCSV. Зачем Вам выборка по району, если Вы не читаете поле с номером района ?
Если вы хотите прочитать файл, то воспользуйтесь такой, примерно, конструкцией:
Set spNode = rastr.Tables("node")
spNode.ReadCsv CSV_REPL,"lab.csv","ny,pn
,qn",";",""
Метод этот читает файл lab.csv (укажите к нему полный путь) в режиме замены данных (CSV_REPL) в таблицу node, при этом предполагается, что в lab.csv поля введены в порядке ny,pn,qn и разделителем является точка с запятой. Параметры по-умолчанию не задаются (""). Вот если там написать "na=1", то все прочитанные узлы припишутся к району 1.
А связанных таблиц (которые правильно называются внедренные) Rastr не поддерживает. У него свои таблицы есть.
Профиль
Наверх
Иван Трофимович
Постоянный посетитель
Всего сообщений:
76
Дата регистрации:
12.04.2008
Создано:
15.04.2008 12:44:24
Цитата
А связанных таблиц (которые правильно называются внедренные) Rastr не поддерживает
тут вы неправы. связанные и внедренные таблицы (объекты) это в Word разные вещи. после внедрения таблица становится частью документа и с таблицей екселя не связана уже никак. я же хочу именно связанную таблицу т.е работать в екселе, а в другом приложении изменения видеть по запросу обновления.
за пример спасибо. макрос я действительно взял алогичный. только взял я его из станд. примеров, потому и не вчитывался
RastrWin\macro\чтение из CSV.rbs
поправьте при случае что ли...
Цитата
Можно заняться сразу высшим пилотажем - читать прямо из книги Excel. Примеры есть в макростудии (там правда только запись, но она мало отличается от чтения).
Вот этот пример крутить я так понимаю ?
http://www.rastrwin.ru/ra
str/macro/voltage.php
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1059
Дата регистрации:
23.04.2007
Создано:
15.04.2008 19:37:49
С технической точки зрения оные таблицы отличаются только способом активации, а так они обе - OLE Embedded.
В RastrWin макроса "Чтение из csv" нету. Есть "Запись в csv".
Крутить этот пример. На regimov.net кто-то активно писал макросы, которые из Экселя что-то читали. Есть в принципе куча готовых подобных макросов, но они есть только в Bars/Lincor и используются в СО.
Профиль
Наверх
Читают тему
гостей:
1
, пользователей:
0
, из них скрытых:
0
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019