powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как приконнектиится к ексел не приликовывая его
39 сообщений из 39, показаны все 2 страниц
Как приконнектиится к ексел не приликовывая его
    #32824565
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как приконнектиться к ексел, не прилинковывая его таблицы. (чере OpenDatabase или что-то в этом роде)
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824570
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824571
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч http://sql.ru/forum/actualtopics.aspx?search=worksheet&submit=%CD%E0%E9%F2%E8&bid=4

И, ясно дело, не открывая ексель. Так что воршит не катит.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824575
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А что сделать-то нужно? Доступ к файлу Экселя нужен или нет?
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824578
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужен перечень листов в екселовском файле.

Set dbsPubs = wrkJet.OpenDatabase("bvt.xls", dbDriverNoPrompt, False, "ODBC;DSN=Ôàéëû Excel;DBQ=E:\wowa\1\bvt.xls;DefaultDir=E:\wowa\1\;DriverId=790;MaxBufferSize=2048;PageTimeout=5;UID=admin;")


такой перечень не дает ;((( а др. идей нет.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824580
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set wrkJet = CreateWorkspace("", "admin", "", dbUseODBC)
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824581
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще круче было бы получать список именованных дапазонов!
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824591
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда надо именно то, что я предложил.

dim b as excel.workbook
...
b.worksheets.count
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824602
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял. Ссылка слишком обща. Можно по подробней
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824612
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vam911Не понял. Ссылка слишком обща. Можно по подробней
См. мой предыдущий пост.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824622
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все рано не понял. А по подробней.

dim b as excel.workbook
...
b.worksheets.count


Это понятно. А как присоединить "b" к файлу не открывая ексель??
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824625
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не открывая - никак. Либо открываем бутылку и пьем, либо не пьем и не открываем.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824634
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен. Ведь прилинковывая таблицу екселя мы не открываем есчель, но при это пьем.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824639
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. Но прилинковываться ведь тоже запрещено?

2. А что такое открывать?
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824644
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прилинковывать то же запрещено т.к. не знаем имя листа. В принципе можно и прилинковать (и отловить ошибку), но тогда решение задачи гроша выеденного (или яйца ломанного) не стоит .

Не открывая, это значит не создавая обЪект екселя.

Вся задача проста - просканировать папку с файлами и выбрать тот, который содержит лист с определенным именем. файлы СЛОЖНЫЕ - 1 файл открывается 3-5 минут. Файлов дофига.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824647
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не получится. Кроме самого Экселя, ни одна программа не сможет зайти в файл Экселя и проверить, какие там есть листы.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824652
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь может же ексель зайти в аксесс и посмотреть какие там таблицы...
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824653
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vam911Но ведь может же ексель зайти в аксесс и посмотреть какие там таблицы...
Это как? Без Access.Application???
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824654
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через opendatabase (jet).

А вот подключитсься к еселю через джет не получается, только ОДБС, а он списка таблиц не дает. (или дает, но я не знаю как их получить. При открытии объек таблдефс - "не поддерживается"
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824660
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, действительно, Jet - это та часть Аксесса, которой достаточно. У Экселя такой части нет.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824665
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может есть???

A workspace that uses the Microsoft Jet database engine to access a data source. The data source can be a Microsoft Jet database file (.mdb), an ODBC database, such as a Paradox database, or an ISAM database.

Я так понимаю, что ексель должен быть чатью исама или одбс, но пока что не получается.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824667
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Все правильно. ODBC использует экселевский ISAM. Но он не поддерживает то, что нам надо.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824669
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понимаю, что если зделать опендб через джет на ексель, то список таблиц будет. Вот толко пока что подобрать строку подключения не удается
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824671
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set dbsPubs = wrkJet.OpenDatabase("E:\wowa\1\bvt.xls", False, False, "Excel 8.0")


просто и изящно, а ты низя, низя.

Если низя, но очень хочеться - то можно
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824675
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824700
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я сейчас попробовал этот способ. Что-то он как-то криво пашет...

Был лист, на котором в клетке C9 была написана буква a. Запустил код, приведенный ниже. Добавилась семерка - где бы вы думали? - в клетке C10. А вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim w As Workspace, d As Database, t As TableDef, rs As Recordset
Set w = DBEngine.CreateWorkspace("z", "admin", "", dbUseJet)
Set d = w.OpenDatabase("c:\oldd\book1.xls", False, False, "Excel 8.0")
Set t = d.TableDefs( 0 )
Set rs = d.OpenRecordset(t.Name)
'здесь было rs.BOF = True
'и кроме того rs.Fields.Count = 1
rs.AddNew
rs( 0 ) =  7 
rs.Update
'здесь было rs.RecordCount = 1
rs.Close
d.Close
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824813
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
издержки производтва .

Но если пользоваться заранее отформатированными листами или диапазонами вывода, то можно получать прогнозируемые результаты
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824815
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычЯБыл лист, на котором в клетке C9 была написана буква a. Запустил код, приведенный ниже. Добавилась семерка - где бы вы думали? - в клетке C10. А вот код:
[/src]

Если подумать, то результат вполне логичен.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824825
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vam911Если подумать, то результат вполне логичен.
Почему??? Я-то надеялся прочитать то, что было в клетке C9.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824844
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А название столбца???

Если поиграть с параметрами, то можно добиться того, что бы названиями стобцов были их порядковые номера, но мне это сейчас не надо, так что париться не буду. Если сам найдешь - пиши :)
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824852
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалость очень просто

"Excel 8.0;HDR=NO"
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32824871
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Дошло, спасибо!
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32825034
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч vam911Если подумать, то результат вполне логичен.
Почему??? Я-то надеялся прочитать то, что было в клетке C9.

ничего я не понял - "надеялся почитать", а сам взял и добавил "запись"...
??

вот не знаю насколько в тему, но нашел "про ЭТО" вот что:

http://support.microsoft.com/default.aspx?scid=kb;en-us;q319998
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32825109
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой способ немного проще :)
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32825110
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к тому же топик немного о другом.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32825227
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Victoshaничего я не понял - "надеялся почитать", а сам взял и добавил "запись"...
??
Добавил после того, как увидел, что читать не удается. Просто хотел посмотреть, что будет.
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32840633
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получить список листов Экселя (чтобы ничего не потерять, я привожу работающую процедуру полностью, так что извиняюсь за возможную избыточность)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    Dim fname As String
    fname = GetExcelFileName(Me.Hwnd)
    If fname = "" Then Exit Sub
    
    Dim Cnn As ADODB.Connection
    Dim rS As ADODB.Recordset
    
    Set Cnn = New ADODB.Connection
    Set rS = New ADODB.Recordset
    
    Cnn.Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & fname & ";ReadOnly=1"
    
    CurrentDb.Execute "DELETE * FROM tblTempSheets"
    
    Dim tn As String
    Set rS = Cnn.OpenSchema(adSchemaTables)
    Do While Not rS.EOF
        tn = rS("TABLE_NAME")
        If Left(tn,  1 ) = "'" Then tn = Mid(tn,  2 )
        If Len(tn) < InStr( 1 , tn, "$") +  2  Then
            tn = Left(tn, InStr( 1 , tn, "$") -  1 )
            CurrentDb.Execute "INSERT INTO tblTempSheets(SheetName) VALUES ('" & tn & "')"
        End If
        rS.MoveNext
    Loop
    rS.Close
    Cnn.Close
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32840637
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И сами данные в таблице Экселя
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtExcelName & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""
rS.Open "SELECT * FROM [" & ListItem & "$];", Cnn, adOpenStatic, adLockOptimistic
rS.MoveLast
rS.MoveFirst
Do While Not rS.EOF
     ...
     rS.MoveNext
Loop
...
...
Рейтинг: 0 / 0
Как приконнектиится к ексел не приликовывая его
    #32840731
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yanis: Исчерпывающе!
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как приконнектиится к ексел не приликовывая его
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]