Получение Данных И Сохранение В Excel Из Лотуса (windows 7!)

  • Автор темы oxystile
  • Дата начала
O

oxystile

Гость
#1
Доброго!
Есть скрипт для получения данных в excel и сохранении. Для ОС windows XP все работает, для ОС Windows 7 получаю error 213 %s на строке Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Думаю, что это общая проблема, и если юсеры станут переходить на Windows 7, то многие разработчики с этим столкнутся
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#2
самый правильный вариант готовить xml для ворда/экселя
минимум действий, максимум скорости и файл уже сохранён
единственный минус - древний офис его не понимает
 

susinmn

Well-Known Member
16.10.2007
529
8
33
Саратов
#3
Доброго!
Есть скрипт для получения данных в excel и сохранении. Для ОС windows XP все работает, для ОС Windows 7 получаю error 213 %s на строке Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Думаю, что это общая проблема, и если юсеры станут переходить на Windows 7, то многие разработчики с этим столкнутся
Если так записать, тоже ругается (на W7 не проверял)?
<!--shcode--><pre><code class='avto'>Set xl=CreateObject("Excel.Application")
Set xlWbk = xl.Workbooks.Add()
...
тут заполняем xlWbk
xlWbk.ActiveSheet.Cells(i, j).value=""
...
Call xlWbk.SaveAs(filePathExcel)[/CODE]
 
O

oxystile

Гость
#4
xml для ворда/экселя а можно тут поподробнее. Древний офис это насколько древний?


попробовала через Call xlWbk.SaveAs("c:\test.xls") ругается Cannot access 'test.xls'
 
O

oxystile

Гость
#6
вот оно в чем дело... и как обойти можно? лично у меня на рабочем ноуте сейчас только один с диск
 
O

oxystile

Гость
#8
ага, ясно, спасибо!
тогда вопрос, как вычислить %UserName% ?
смотрела в сторону notes.ini там есть SU_FILE_CLEANUP но насколько это будет универсально для всех и как определить какая ос?
 
O

oxystile

Гость
#10
o! я вот что только нашла Environ("username") & Environ("os")
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 439
351
homepage.mac.com
#11
Доброго!
Есть скрипт для получения данных в excel и сохранении. Для ОС windows XP все работает, для ОС Windows 7 получаю error 213 %s на строке Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Думаю, что это общая проблема, и если юсеры станут переходить на Windows 7, то многие разработчики с этим столкнутся
нет не общая... ;) права - это нормально
и тем не менее - напомню
http://codeby.net/forum117.html# (если есть намерение отказаться от КОМ)
и виноват не нотус (более - он не при чём)
как пр-ло - лечить надо источник проблем, а не последствия :)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#12
тогда вопрос, как вычислить %UserName% ?
Зачем имя пользователя? Если нужно временно сохранить файл, есть директории для временных файлов %temp%
Если же файл необходим пользователю, тогда необходимо дать возможность пользователю указать самому куда следует сохранять документ. Лучше всего вообще ексель оставить открытым в конце (вроде Application.Visible = True) и пусть что хочет, то и делает с ним.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#13
xml для ворда/экселя а можно тут поподробнее. Древний офис это насколько древний?


попробовала через Call xlWbk.SaveAs("c:\test.xls") ругается Cannot access 'test.xls'
всё не так
сохранять файл нужно средствами самого лотуса без использованим COM офиса
офисом лишь открывать этот файл
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#14
Правильно, все не так, нефиг вообще париться и готовить xml-документ офисный, иначе выйдет патч или новая версия и в одно место всю проделанную работу. Это даже, если не учитывать, что "древний офис его не понимает" (с)
 
O

oxystile

Гость
#15
вот кстати слышала про альтернативу сохранять средствамит самого лотуса, подскажите где про это можно почитать ... очень надо
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#17
нефиг вообще париться и готовить xml-документ офисный, иначе выйдет патч или новая версия и в одно место всю проделанную работу
сколько не выходило патчей всё работает
и удобство еще в одном
такой файлик можно подготовить на сервере - особенно актуально для годовалых отчётов и выслать юзеру и ничего на сервере инсталить кроме домино не нужно
вариант с веб решением еще в обкатке но тоже проблем не будет
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#18
сколько не выходило патчей всё работает
Хочешь нас заверить, что майкрософт вылечился от болезни не придерживаться стандартов, хотя бы своих? :)
В любом случае, для решения этой задачи эй понадобиться изучить xml и, вероятно, xslt, а также формат xml-документа екселя и сопутствующуюю инфу.
Имхо, хорошая задача из разряда разобраться в будущем, но для решения задачи топика слишком толстое решение.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 439
351
homepage.mac.com
#19
ХМЛ файло является "выходом" тока для простых вариантов, да и в любом раскладе - нужно создавать "движок" (набор классов для работы) ли писать ХСЛТ таблицы (что не проще)
 
O

oxystile

Гость
#20
to Akupaka: сделала уже :) и сохраняю через Environ$("Temp")