• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

oxystile

Доброго!
Есть скрипт для получения данных в excel и сохранении. Для ОС windows XP все работает, для ОС Windows 7 получаю error 213 %s на строке Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Думаю, что это общая проблема, и если юсеры станут переходить на Windows 7, то многие разработчики с этим столкнутся
 
самый правильный вариант готовить xml для ворда/экселя
минимум действий, максимум скорости и файл уже сохранён
единственный минус - древний офис его не понимает
 
Доброго!
Есть скрипт для получения данных в 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]
 
xml для ворда/экселя а можно тут поподробнее. Древний офис это насколько древний?


попробовала через Call xlWbk.SaveAs("c:\test.xls") ругается Cannot access 'test.xls'
 
А куда ты сохраняешь? К примеру, на c:\ у простого пользователя нет доступа.
 
вот оно в чем дело... и как обойти можно? лично у меня на рабочем ноуте сейчас только один с диск
 
Сохранять в профильную папку пользователя. Использовать переменные среды и всё такое.
 
ага, ясно, спасибо!
тогда вопрос, как вычислить %UserName% ?
смотрела в сторону notes.ini там есть SU_FILE_CLEANUP но насколько это будет универсально для всех и как определить какая ос?
 
как вычислить %UserName% ?
как определить какая ос?
WinAPI: функции GetUserName / GetUserNameEx и GetVersion / GetVersionEx.

Или попроще: через WScript.Shell
.
 
o! я вот что только нашла Environ("username") & Environ("os")
 
Доброго!
Есть скрипт для получения данных в excel и сохранении. Для ОС windows XP все работает, для ОС Windows 7 получаю error 213 %s на строке Call xlApp.Workbooks(1).SaveAs( filePathExcel )
Думаю, что это общая проблема, и если юсеры станут переходить на Windows 7, то многие разработчики с этим столкнутся
нет не общая... ;) права - это нормально
и тем не менее - напомню
link removed (если есть намерение отказаться от КОМ)
и виноват не нотус (более - он не при чём)
как пр-ло - лечить надо источник проблем, а не последствия :)
 
тогда вопрос, как вычислить %UserName% ?
Зачем имя пользователя? Если нужно временно сохранить файл, есть директории для временных файлов %temp%
Если же файл необходим пользователю, тогда необходимо дать возможность пользователю указать самому куда следует сохранять документ. Лучше всего вообще ексель оставить открытым в конце (вроде Application.Visible = True) и пусть что хочет, то и делает с ним.
 
xml для ворда/экселя а можно тут поподробнее. Древний офис это насколько древний?


попробовала через Call xlWbk.SaveAs("c:\test.xls") ругается Cannot access 'test.xls'
всё не так
сохранять файл нужно средствами самого лотуса без использованим COM офиса
офисом лишь открывать этот файл
 
Правильно, все не так, нефиг вообще париться и готовить xml-документ офисный, иначе выйдет патч или новая версия и в одно место всю проделанную работу. Это даже, если не учитывать, что "древний офис его не понимает" (с)
 
вот кстати слышала про альтернативу сохранять средствамит самого лотуса, подскажите где про это можно почитать ... очень надо
 
нефиг вообще париться и готовить xml-документ офисный, иначе выйдет патч или новая версия и в одно место всю проделанную работу
сколько не выходило патчей всё работает
и удобство еще в одном
такой файлик можно подготовить на сервере - особенно актуально для годовалых отчётов и выслать юзеру и ничего на сервере инсталить кроме домино не нужно
вариант с веб решением еще в обкатке но тоже проблем не будет
 
сколько не выходило патчей всё работает
Хочешь нас заверить, что майкрософт вылечился от болезни не придерживаться стандартов, хотя бы своих? :)
В любом случае, для решения этой задачи эй понадобиться изучить xml и, вероятно, xslt, а также формат xml-документа екселя и сопутствующуюю инфу.
Имхо, хорошая задача из разряда разобраться в будущем, но для решения задачи топика слишком толстое решение.
 
ХМЛ файло является "выходом" тока для простых вариантов, да и в любом раскладе - нужно создавать "движок" (набор классов для работы) ли писать ХСЛТ таблицы (что не проще)
 
to Akupaka: сделала уже :) и сохраняю через Environ$("Temp")
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab