На главную страницу RastrWin

Форум «Макро»


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация

Сообщения 1 - 25 из 41
Начало | Пред. | 1 2 | След. | Конец 

Тема: «Rastr и Excel » в форуме: Макро   Просмотров: 42019
 
Михаил Одинцов
Постоянный посетитель
 
Всего сообщений: 148
Дата регистрации: 22.07.2008
Создано: 15.10.2008 19:05:52
 
 
Возникла проблема с загрузкой файлов растра через эксель. Функция Rastr.Load не хочет загружать файл, Rastr.Save работает нормально причем что на других компах этот макос работает. Вопрос, собственно, в том, это локальная проблема конкретного компа? И как с ней бороться, если кто сталкивался.
Загружал так: Rastr.Load 1, File1, shabl1, File1-имя файла, shabl1=prdir & "SHABLON\" & sha1, соответсвенно шаблон .rg2
 
Профиль
Наверх
Михаил Одинцов
Постоянный посетитель
 
Всего сообщений: 148
Дата регистрации: 22.07.2008
Создано: 15.10.2008 19:12:04
 
 
Заранее прошу прощения за создание трех одинаковых тем, инет подтормозил.....
 
Профиль
Наверх
Владимир Неуймин
Администратор
 
Всего сообщений: 268
Дата регистрации: 13.03.2007
Создано: 15.10.2008 23:07:26
 
 
prdir при работе под екслем откуда берется ?
Ведь функция SendCommandMain живет только в родной оболочке...
 
Профиль
Наверх
Михаил Одинцов
Постоянный посетитель
 
Всего сообщений: 148
Дата регистрации: 22.07.2008
Создано: 16.10.2008 19:37:44
 
 
prdir = "C:\Program Files\RastrWin\"
Директория Растра прописывалась вручную..... Проблема решилась после переустановки Растра, так как выяснилось, что из него самого не загружались файлы. С учетом того, что работа велась полностью в Экселе, сразу этого выяснить не удалось.
 
Профиль
Наверх
Михаил Реутов
Постоянный посетитель
 
Всего сообщений: 224
Дата регистрации: 21.11.2007
Создано: 07.11.2008 12:17:37
 
 
Я в экселе делаю так
Код

Dim file_name As String, rastr
Const shabl = "C:Program FilesRastrWinSHABLONрежим­.rg2"
file_name = "D:мой_режим.rg2"
Set rastr = CreateObject("Astra.Rastr­")
rastr.Load 1, file_name, shabl
...

И далее работайте с объектом rastr. У меня все работает.
зы: в начале модуля в экселе незабудь написать Option Explicit
 
Профиль
Наверх
Михаил Реутов
Постоянный посетитель
 
Всего сообщений: 224
Дата регистрации: 21.11.2007
Создано: 07.11.2008 12:19:26
 
 
Форум все наклонные удалил из предыдущего сообщения.
 
Профиль
Наверх
Андрей
Посетитель
 
Всего сообщений: 16
Дата регистрации: 24.11.2009
Создано: 27.10.2010 12:15:00
 
 
Здравствуйте, постоянно сталкиваюсь с проблемой коррекции большого объёма параметров в режимном файле, групповая коррекция в этом случае не подходит.
Вопрос к разработчикам Растра: есть ли возможность "зашить" в программу функцию чтения данных из таблиц эксель, например так, как это организовано в программе "ДАКАР". Как видно из сообщений форума, многие сталкиваются с этой проблемой, а писать макросы может не каждый, так что данная функция будет весьма полезной.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 27.10.2010 22:18:00
 
 
С удовольствием. Только как быть с идентификацией столбцов в Растре и Экселе ? Можно ли использовать программу "ДАКАР" в качестве эталона ? В смысле ознакомиться как это в ней организовано ?

А пока прямого обмена Растра с Экселем нет, можно порекомендовать запись csv в Экселе и чтение в Растре.

UPD: Все, нашел где смотреть....
 
Профиль
Наверх
Иван Трофимович
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 02.11.2010 23:56:04
 
 
работать прямо из екселя с растром неудобно - отлаживать сложно. удобнее создать макрос в растре, потом запускать его из екселя (или Word, или Visio как когда необходимо)
Set rastr = CreateObject("Astra.Rastr­")
ret = rastr.execmacropath(<путь­ к макросу>)
проблема в том что периодически эта схема отказывается работать. до перезапуска офиса.
вот такую ошибку выбрасывает
Пользователь добавил изображение

Uploaded with ImageShack.us
как это отладить ?
 
Профиль
Наверх
Бекжан Мукатов
Посетитель
 
Всего сообщений: 17
Дата регистрации: 06.01.2010
Создано: 21.10.2011 13:44:18
 
 
Здравствуйте!
Помогите пожалуйста в следующем:
Мне необходимо экспортировать данные о ветвях в excel. Не могу вывести в excel параметры ветвей. Записал формулу для вывода R:
=ДРВ("Rastr.RTD";"";"V";"­$1";"vetv"; "r"; "ip="&$A2 & "iq="&B2)
Но не знаю как использовать логическое "И", в результате получаю для всех ветвей начинающихся на p="&$A2 одинаковые значения (видимо первой попавшейся под условие p="&$A2 строки )
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 22.10.2011 02:35:39
 
 
В выборке RastrWin "И" соответствует амперсанд "&".
ДРВ будет выглядеть так:

Код
=ДРВ("Rastr.RTD";"";"V";"­?$1";"vetv"; "r"; "ip="&$A2 & "&iq="&B2)


Если Вы вводите ДРВ вручную, предварительно полезно и удобно проверять работу выборки в RastrWin в контекстном меню соответствующей таблицы - пункт "Выборка".
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 20.03.2012 03:11:56
 
 
все еще актуален мой вопрос выше. не могу запустить ряд макросов из под екселя - потому что не запускается растр. ошибку - см. выше.
видимо из-за того что рустаб установил. что делать кроме как все переставлять заново несколько раз ?
 
Профиль
Наверх
Михаил Реутов
Постоянный посетитель
 
Всего сообщений: 224
Дата регистрации: 21.11.2007
Создано: 20.03.2012 08:18:56
 
 
Цитата
Иван Трофимович пишет:
как это отладить ? все еще актуален мой вопрос выше

По Вашему вопросу мало информации, чтобы Вам можно было бы хоть как то помочь.

Если был установлен Рустаб, то попобуйте в папке Растра запустить reset.bat
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 22.03.2012 02:19:23
 
 
попробовал. удалил все (стоял рустаб на диске D). поставил последнюю версию Rustab в директорию по умолчанию.
запускаю из под екселя вот такой вот макрос
Set rastr = CreateObject("Astra.Rastr­")
'sha1 = "режим.rg2"
'prdir = "D:\EDUCATION\RastrWin\" ' директория с Rastr
shabl1 = "C:\Program Files\RastrWin\SHABLON\ре­жим.rg2"

rastr.NewFile shabl1

Path = ThisWorkbook.Path & "\" & script
Debug.Print "запущен скрипт " & Path
ret = rastr.execmacropath(Path)­ ', "ExWb_path=""" & ThisDocument.Path & """")
получаю ошибку - см. выше. сам скрипт растровский рабочий - в самом растре работает безошибочно. в чем дело и что можно предпринять ? как это отладить вообще ?
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 22.03.2012 11:31:24
 
 
Экселевский макрос лучше всего отлаживается отладчиком Экселя. Ставите точки останова и смотрите в пошаговом режиме, что куда передаётся.
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 22.03.2012 15:27:56
 
 
так падает макрос вот на этом
ret = rastr.execmacropath(Path)­
Path при этом корректный. на что смотреть ?
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 22.03.2012 15:50:13
 
 
попробуйте прислать мне все ваши файлы
ustas( sob ) niipt-ems.ru.
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 16.04.2012 02:35:27
 
 
неделю промаялся ( но похоже эмпирически нашел в чем дело.
макрос для расчета динамики - соответсвенно используем функции рустаба, а не растра. собственно именно на загрузке таблиц оборудования для расчета динамики макрос и падает.

Set rastr = CreateObject("Astra.Rastr­")

вот как вместо растра создать рустаб ?
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 16.04.2012 10:31:47
 
 
Пришлите макрос на мое мыло приведенное выше.
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 76
Дата регистрации: 12.04.2008
Создано: 16.04.2012 14:55:31
 
 
отправил.
 
Профиль
Наверх
Кирилл
Заглянувший
 
Всего сообщений: 8
Дата регистрации: 01.06.2020
Создано: 01.06.2020 14:08:50
 
 
Добрый день.
При написании макроса потребовалось перенести результаты расчетов из RastrWin в Excel с точностью до 3 знаков. Подскажите пожалуйста, каким образом это сделать? Вот, что нужно перенести в Excel:
for col = 39 to 42
spXL.Worksheets(2).Cells(­1,col - 30) = tVetv.Cols(col).Prop(FL_Z­ag)
for row = 0 to tVetv.Size - 1 spXL.Worksheets(2).Cells(­2 + row,col - 30) = tVetv.Cols(col).ZS(row) next
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 01.06.2020 16:04:42
 
 
Здравствуйте Кирилл,
Вместо ZS(row) попробуйте Z(row). ZS передает строку, Z - вариант. Если в нем double - будет передана полная точность и выбрать количество знаков можно будет в XL.
 
Профиль
Наверх
Кирилл
Заглянувший
 
Всего сообщений: 8
Дата регистрации: 01.06.2020
Создано: 01.06.2020 16:14:19
 
 
Z(row) тоже пробовал - получается много знаков после запятой
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 01.06.2020 16:20:51
 
 
Ну так поставьте свойство ячейки в XL "Числовой" и укажите сколько надо знаков. Либо в UI либо в макросе.

Можно точность в текстовом представлении прямо в RastrWin поставить на нужное поле
Код
tVetv.Cols(col).Prop(FL_P­REC) = 3

или поменять "точность" в шаблоне
и пользоваться по-прежнему ZS(). При этом RastrWin тоже будет показывать double в этой точности.
 
Профиль
Наверх
Кирилл
Заглянувший
 
Всего сообщений: 8
Дата регистрации: 01.06.2020
Создано: 01.06.2020 16:27:15
 
 
Спасибо вам большое. Теперь все показывает как надо.
 
Профиль
Наверх


Сообщения 1 - 25 из 41
Начало | Пред. | 1 2 | След. | Конец 

Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация





Работает на «Битрикс: Управление сайтом» © «Битрикс», 2001-2006