Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: VBScrip - как подключить xls файл? Добавлено: 17.12.03 16:35  

Автор вопроса:  Helen Chirkova

Привет всем! Очень нужен совет. Есть сайт, написанный на ASP , VBScript с использованием MS SQL 2000. Вначале страницы идет подключение и определение базы данных MS SQL. На странице выполняется скрипт, вытягивающий информацию из этой базы. Так-же есть файл  xls, из которого так-же нужно выуживать информацию и показывать на той странице. Что-то не поймц как подключить xls файл. Попробовала набить строчку:

 <%
Dim ExcelSheet
Set ExcelSheet = CreateObject("Excel.Sheet")
%>

- не работает. в чем может быть проблема и как это правильно реализовать?

Заранее спасибро всем за ответы.

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #1
Добавлено: 17.12.03 16:44

Set ExcelApp = CreateObject("Excel.Application")

ExcelApp.Worksheets.open filename  'opena xls file

и т.д. по мере надобности.

Ответить

Номер ответа: 2
Автор ответа:
 Helen Chirkova



Вопросов: 3
Ответов: 11
 Профиль | | #2 Добавлено: 17.12.03 16:52

То есть если полностью писать, то это будет так?

<%
Dim ExcelApp
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Worksheets.open reestr_journal.xls
%>

Ответить

Номер ответа: 3
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #3
Добавлено: 17.12.03 17:03

почти

ExcelApp.Worksheets.open "reestr_journal.xls"


 

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 17.12.03 18:06
В объектной модели Excel ничего не смыслю, но.. попробуйте создавать
объект так:

Set ExcelSheet = Server.CreateObject("имя класса")

Ответить

Номер ответа: 5
Автор ответа:
 Helen Chirkova



Вопросов: 3
Ответов: 11
 Профиль | | #5 Добавлено: 18.12.03 12:48

Добавила строки в теле страницы: <%
Dim ExcelApp
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Worksheets.open "reestr_journal.xls"
%>

Выдает ошибку:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object: 'Excel.Application'

 

Я думаю, может причина кроется в том, что я еще одну базу подключаю и запросы к ним идут одновременно.

А подключаю вторую базу таким образом:

<%Option Explicit%>

<%
Response.Expires=0
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-store"
Response.ExpiresAbsolute=now()-1
Response.CharSet="windows-1251"


Dim conn,rs

Set Conn = Server.CreateObject ("ADODB.Connection")
conn.CursorLocation=3

conn.Open session("cn")
set rs=server.CreateObject ("adodb.recordset")
%>

<%
Dim LevelRS
Set RS = Conn.Execute ("SELECT * FROM  qryLetters WHERE IsPublic=1  AND DateDiff(d,DateCreated,getdate()) < 8 ORDER BY DateCreated desc")
%>

Может укда-ниюудь внутрь этого подключения забить строки подключения к xls файлу?

Ответить

Номер ответа: 6
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #6
Добавлено: 18.12.03 12:58
Helen Chirkova, a может у тебя Excel не установлен на компе?

Ответить

Номер ответа: 7
Автор ответа:
 Helen Chirkova



Вопросов: 3
Ответов: 11
 Профиль | | #7 Добавлено: 18.12.03 13:11

Установлен:)

Попробую подробнее описать страницу. Вот примерный код:

<%Option Explicit%>
<%
Response.Expires=0
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-store"
Response.ExpiresAbsolute=now()-1
Response.CharSet="windows-1251"
Dim conn,rs
Set Conn = Server.CreateObject ("ADODB.Connection")
conn.CursorLocation=3
conn.Open session("cn")
set rs=server.CreateObject ("adodb.recordset")
%>
<%
Dim LevelRS
Set RS = Conn.Execute ("SELECT * FROM  qryLetters WHERE IsPublic=1  AND DateDiff(d,DateCreated,getdate()) < 8 ORDER BY DateCreated desc")
%>

<html>
<head>
...
</head>

<body>
...
'Какие действия над базой. Затем закрываю
<%RS.Close%>
<%Set RS = Nothing%>

'Где-то здесь нужно подключиться к xls файлу и выкачать инфо
'Делпю таким образом:

<%
Dim ExcelApp
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Worksheets.open "reestr_journal.xls"
%>
...
'Закрываю .xls
<%ExcelApp.Close%>
<%Set ExcelApp = Nothing%>

...
Опять подключаюсь к БД SQL
<%
Set RS = Conn.Execute ("SELECT * FROM st_sections WHERE ParentID=0 ORDER BY OrderID")
%>
<%Loop%>
<%RS.Close%>
<%Set LevelRS = Nothing%>
<%Set RS = Nothing%> 
</body>
</html>


Сделала все вышеописанное - выдает ошибку:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object: 'Excel.Application'

Что делать???

Ответить

Номер ответа: 8
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #8
Добавлено: 18.12.03 13:43
Вы уверены, что на сервере установлен MS Excel?

Ответить

Номер ответа: 9
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #9
Добавлено: 18.12.03 14:35
Сорри за предыдущее сообщение, написал до того, как прочитал вопрос
boevik'а.

А отдельно эта строка выполняется без ошибок?

Set ExcelSheet = CreateObject("Excel.Sheet")

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам