Чтение данных из Excel

Программа Владимира Неуймина RastrWin и ее клоны: ActOpus, Барс. Статическая устойчивость.

Чтение данных из Excel

СообщениеИван » 17 апр 2008, 15:33

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

я только из csv пока умею - не совсем удобно.

поделитесь примером товарищи. в макростудии только запись. похоже конечно, но велосипед изобретать не хочу если что-то есть готовое.
Иван
 
Сообщения: 0
Зарегистрирован: 12 апр 2008, 21:12

Re: Чтение данных из Excel

Сообщениеmci » 17 апр 2008, 15:42

здесь есть подборка макросов. в alternative_calculations_SQL_v4.rbs найдешь много интересного... и хотя в нем нет готового решения под то, что ты хочешь, но по примеру переработь не сложно будет...
mci
 
Сообщения: 0
Зарегистрирован: 10 июн 2006, 23:00

Re: Чтение данных из Excel

СообщениеИван » 17 апр 2008, 23:52

Цитата:

но по примеру переработь не сложно будет...


пока с "переработкой" большие проблемы Sad

пример чтения нашел один

http://regimov.net/download/po/rastr/macro/insert_I_dop_SQL_ v1.rbs

но для Access и адаптировать это дело мне знаний не хватает Sad



http://www.rastrwin.ru/support/forum/read.php?FID=9&TID= 156&MID=619#message619

Цитата:

На regimov.net кто-то активно писал макросы, которые из Экселя что-то читали. Есть в принципе куча готовых подобных макросов, но они есть только в Bars/Lincor и используются в СО.


Может все таки найдется примерчик попроще ? как-то совсем нехочется биться в стену изобретая велосипед... Smile
Иван
 
Сообщения: 0
Зарегистрирован: 12 апр 2008, 21:12

Re: Чтение данных из Excel

СообщениеИван » 20 апр 2008, 18:36

http://forum.regimov.net/index.php?t=msg&th=354&star t=0&rid=348

проблема примерно такая же. единственное предложеное решение - внешняя программа или макрос в екселе который формирует файл данных, который опять же надо подсовывать растру отдельным действием.

Так через макросы растра чтение екселя вообще возможно ?
Иван
 
Сообщения: 0
Зарегистрирован: 12 апр 2008, 21:12

Re: Чтение данных из Excel

Сообщениеgena » 21 апр 2008, 11:07

Не вижу разницы между чтением и записью в Эксель. Все тоже самое - создаете объект через CreateObject, загружаете в него нужный вам файл экселя и обращаетесь к нужным вам полям. Вот за 1 мин набросал через запись кнопок в экселе.



Set Excel = CreateObject("Excel.Application")

Excel.Workbooks.Open Filename:= _
"C:\Documents and Settings\ххх\Мои документы\ххх.xls"
Set ExWs = Excel.worksheets(1)
Set var_m=Rastr.Tables("var_mer")
Set nam=var_m.Cols("name")
nam.Z(1)=ExWs.Cells(5,1)
gena
Администратор
 
Сообщения: 29
Зарегистрирован: 07 июл 2015, 23:37

Re: Чтение данных из Excel

СообщениеИван » 22 апр 2008, 00:49

кстати... а можно ли в макрос подгружать ссылкой другой макрос ? чтобы можно было разбить задачу к примеру на несколько скриптов а в одном макросе собрать их вместе ?

спасибо. c пятого раза по аналогии даже что-то получилось Smile буду изучать.
  Excel.Workbooks.Open Filename:= _

"C:\Documents and Settings\ххх\Мои документы\ххх.xls"


так ничего не открыть. правильно-

  Excel.Workbooks.Open("C:\Documents and Settings\ххх\Мои документы\ххх.xls")


вы зачем бедного студента хотели запутать ? Smile
Иван
 
Сообщения: 0
Зарегистрирован: 12 апр 2008, 21:12

Re: Чтение данных из Excel

Сообщениеgena » 22 апр 2008, 07:50

bdfy писал(а) Tue, 22 April 2008 01:49

кстати... а можно ли в макрос подгружать ссылкой другой макрос ? чтобы можно было разбить задачу к примеру на несколько скриптов а в одном макросе собрать их вместе ?


Uses не поддерживается.

Цитата:

вы зачем бедного студента хотели запутать ? Smile


Я понимаю, что лень - двигатель прогресса, но не до такой же степени. Готовые решения под любую задачу - это миф, так что изучай матчасть, пробуй, экспериментируй и будет тебе счастье Wink З.Ы. Код был для Экселя.
gena
Администратор
 
Сообщения: 29
Зарегистрирован: 07 июл 2015, 23:37

Re: Чтение данных из Excel

СообщениеVladimir_Neuymin » 23 апр 2008, 11:17

bdfy писал(а) Tue, 22 April 2008 01:49

кстати... а можно ли в макрос подгружать ссылкой другой макрос ? чтобы можно было разбить задачу к примеру на несколько скриптов а в одном макросе собрать их вместе ?




Можно :

[id(110), helpstring("method ExecMacroPath")] HRESULT ExecMacroPath([in] BSTR MacroPath, [in,defaultvalue("")] BSTR Parameters, [out,retval] VARIANT *pVal);



С помощью Parameters можно передавать в макро параметры через разделитель : например "table=node:ny=1"



А возвращает значения черз Retval.return =
Vladimir_Neuymin
 
Сообщения: 0
Зарегистрирован: 29 авг 2006, 23:00

Re: Чтение данных из Excel

СообщениеИван » 23 апр 2008, 21:05

Такие проблемы:



Set Excel = CreateObject("Excel.Application")

такой код при частом последовательном обращении к одной и той же открытой таблице в итоге сбоит, падает и растр и ексель. в диспетчере задач потом десяток-два Excel.exe могут сидеть.

Как это обойти ? (и что это за панель такая появлялась новая ? )



Попытался файл открыть из макроса...

Rastr.Load 1,<путь к файлу rg2>,""

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

Файл- новый - очистить все. все равно выдавало ошибку.

index.php?t=getfile&id=97&private=0

С десятого раза (чистый режим, потом загрузка старого через меню) почти все заработало. А вот таблица анцапф по прежнему не работает. перестановка растра даже не помогает.

Если попытаться создать новый файл анцапф такая вот ошибка

index.php?t=getfile&id=98&private=0

если открыть окно и попытаться что-то вставить - вообще растр падает.

С этим как бороться правильно ? И как корректно загрузить файл режима в растр ?

Иван
 
Сообщения: 0
Зарегистрирован: 12 апр 2008, 21:12

Re: Чтение данных из Excel

Сообщениеgena » 24 апр 2008, 07:53

То, что Растр глючит и вылетает по любому чиху всем известный факт. Обычно лечится удалением файла _tmp.all и созданием рабочей области заново. Об этом неоднократно писалось на всех форумах - юзай ПОИСК!



Если ты хочешь научиться VBA script вот тебе исчерпывающий ответ на все твои текущие и будущие вопросы:



Самоучитель программирования на VBA в Microsoft Office



VBA для "чайников"



Понимаю что тяжко, неохота, но в данном случае Растр ни при чем. Все дело в умении программировать скрипты, которого у тебя еще нет. Открой папку macro в поставке Растра и изучи все примеры. Там ты найдешь примеры как правильно делать то, что ты пытаешься сделать, а если не хватит, то изучай http://regimov.net/po/rastr/macro.html



gena
Администратор
 
Сообщения: 29
Зарегистрирован: 07 июл 2015, 23:37


Вернуться в Rastr