powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, EXCEL, Sharepoint, ADODB.Connection
20 сообщений из 20, страница 1 из 1
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068269
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вопрос по VBA в Excel. Вот часть кода, который работает в network, но не работает в sharepoint:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Set ioobjConn = New ADODB.Connection
Set ioobjCmnd = New ADODB.Command 

Dim strCnctn As String    

strCnctn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                 "Data Source=" & ThisWorkbook.FullName & ";" & _
                 "Extended Properties=""Excel 8.0;HDR=No"";"                        

With ioobjConn
        .ConnectionString = strCnctn
        .CursorLocation = ADODB.adUseClient
        .Open
End With    
Проблема в ThisWorkbook.FullName. В sharepoint это путь http:\....., и ADODB ioobjConn его не понимает. Для диска работает.

Кто-нибудь сталкивался?
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068431
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn
> Проблема в ThisWorkbook.FullName. В sharepoint это путь http:\....., и ADODB ioobjConn его не понимает.

http://connectionstrings.com/sharepointProvider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes;
DATABASE=http://pp1webofficelivecom.officelive.com/Documents/;LIST={5999B8A0-0C2F-4D4D-9C5A-D7B146E49698};
The keyword "List" specifies the GUID value for the desired SharePoint list (list=table)

Может он съест, если предложить гуид нужного тебе эксельного файла?
Ну и урл подправить на твой


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068596
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь, спасибо!
Может, но видно надо еще найти эту библиотеку, и я не знаю, как найти GUID на sharepoint. Нашел один блог, но ни хрена не понял, где и как искать нужные опции...
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068657
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn
> Игорь, спасибо!
> Может, но видно надо еще найти эту библиотеку,

2007
Office System Driver: Data Connectivity Components

В остальном не помощник, нет у меня sharepoint.

Кстати ещё мысль, если не получится напрямую считать данные, можно сделать рекордсет и руками заполнить его данными


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068714
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК!
Я не представляю, правда, как руками!
Беда в том, что я не могу просто сгрузить библиотеку на корпоративный комп!
:0))
Игорь, еще раз спасибо!
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068721
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnПроблема в ThisWorkbook.FullName. В sharepoint это путь http:\....., и ADODB ioobjConn его не понимает. Для диска работает.

Код: plaintext
1.
2.
strCnctn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                 "Data Source=" & replace(ThisWorkbook.FullName, "http://", "") & ";" & _
                 "Extended Properties=""Excel 8.0;HDR=No"";"
Но вообще-то это сильно похоже на ... непрличиное в культурном обществе слово. Зачем подключаться через ADO к самому себе???
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068774
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Давай неприличное слово!

Я постараюсь попробовать твой код сегодня, правда я уже дома.

Дело в том, что я делаю SQL запросы к данным на одном листе и сваливаю рекордсеты на другие листы в книге. А иначе там сплошные VLookups. И я всегда делаю рекордсеты через ADODB...
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068785
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn
> ОК!
> Я не представляю, правда, как руками!

На пример так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim r As New ADODB.Recordset
Dim i As Long
Dim sh As Worksheet
Set sh = ActiveSheet
r.Fields.Append "f1", adVarChar,  50 
r.Fields.Append "f2", adInteger
r.Fields.Append "f3", adVarChar,  150 
r.Open
For i =  2  To  2000 
    r.AddNew
    r!f1 = Trim(CStr(sh.Cells(i,  1 ).Value))
    r!f2 = Val(sh.Cells(i,  2 ).Value)
    r!f3 = Trim(CStr(sh.Cells(i,  3 ).Value))
Next i
r.MoveFirst
ActiveWorkbook.Sheets("Eeno2").Range("A1").CopyFromRecordset r

> Беда в том, что я не могу просто сгрузить библиотеку на корпоративный комп!

Библиотека ведь от МС, а не от кооператива "Фафаня-Лафаня" ;)
И если она нужна для работы, то почему нет, не вижу никаких проблем, кроме некоторых административных в виде служебной о
необходимости задействовать последние достижения в области АйТи технологий, от флагмана этой области :)

> Автор: White Owl
> Зачем подключаться через ADO к самому себе???

Иногда бывает удобно обрабатывать строготипизированный набор данных, а не разнородную кашу, которую напихают
пользователи "метайской китодой"


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068798
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn

Кстати!
Код: plaintext
1.
2.
3.
4.
Dim pc As PivotCache
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "'до разбивки'!R1C1:R3246C19").CreatePivotTable TableDestination:=ActiveSheet.Cells( 3 ,  1 ), _
        TableName:="СводнаяТаблица1", DefaultVersion:=xlPivotTableVersion10
Set pc = ActiveWorkbook.PivotCaches( 1 )
и если посмотреть на свойство:
? pc.SourceData то оно будет указывать на файл ....... которого нет

Блин, я все хочу вытащить рекордсет из самого себя используя сводную таблицу, а она не отдает его


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068804
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Я попробовал твой код с Replace. Вылетает ошибка на Open. Система внутри себя подставляет спереди к wss/sites/... мои данные

C:\Documents and Settings\xxxxxx\Desktop\wss/sites/...

и пишет "is not a valid path...."

Игорь,

Я посмотрел твой пример. Там же все равно подразумевается коннекшн, а в нем и проблема. И мне же надо запросы по полной программе, а не цикл подряд...

Не знаю пока...
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068813
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn
> Я посмотрел твой пример. Там же все равно подразумевается коннекшн, а в нем и проблема. И мне же надо запросы по
> полной программе, а не цикл подряд...

Где коннекшин? И цикл это для заполнения данных, в который можно добавить условие эмулирующее where
А как по другому руками сделать рекордсет?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068837
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

Я что-то не врубаюсь... А как же без коннекшн?
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068842
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

До меня дошло как эмулировать WHERE, ORDER BY руками. Но как без коннекшн? Будет и без него работать?
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068863
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VladConn
> Игорь Горбонос,
>
> До меня дошло как эмулировать WHERE, ORDER BY руками. Но как без коннекшн? Будет и без него работать?

Та я же специально показал, что работает:
Код: plaintext
ActiveWorkbook.Sheets("Лист2").Range("A1").CopyFromRecordset r
ORDER BY - предварительной сортировкой на листе, WHERE, JOIN'ы условиями

А то что без коннекшина работает, я такое в книжке вычитал, по работе с АДО, по моему Рода Стиветсона. Он показывал
пример как строить свой АДО-провайдер :)
Правда редко использую, обычно получается запросом выбрать данные, если бы ещё был метод обратный GetRows, что-бы из
массива данные загружать в рекордсет, было-бы очень даже не плохо :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068912
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

ОК. Приму к сведению... Это важная информация.

Пока что я договорился с клиентом. Там порядка сорока человек будут только менять общие данные на sharepoint. А один ответственный раз в неделю будет на своем хард драйве гонять собственно запросы и копировать книгу назад в sharepoint....

Спасибо!
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068939
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnWhite Owl,

Я попробовал твой код с Replace. Вылетает ошибка на Open. Система внутри себя подставляет спереди к wss/sites/... мои данные

C:\Documents and Settings\xxxxxx\Desktop\wss/sites/...

и пишет "is not a valid path...."Ну и что? Она же в любом случае подставляет что-то вполне конкретное.
В крайнем случае можешь сделать примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
tmp = ThisWorkbook.FullName
if left(tmp,  7 ) = "http://" then     ' значит мы в sharepoint
    tmp = replace(tmp, "http://", "") ' убираем протокол
    tmp = replace(tmp, "/" , "\")  ' правим слеши
    tmp = ....    ' и дальше курочишь tmp, пока не превратишь его в правильный вид
end if
strCnctn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                 "Data Source=" & tmp & ";" & _
                 "Extended Properties=""Excel 8.0;HDR=No"";"

VladConnЯ посмотрел твой пример. Там же все равно подразумевается коннекшн, а в нем и проблема. И мне же надо запросы по полной программе, а не цикл подряд...Так а чем циклы то не устраивают? Намного проще и надежнее работать будет.

И вообще, давно пора вылезать из детских ползунков и ставить нормальную базу данных.
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36068967
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Все хорошо, но где некультурное слово?
:0)
Проблема с Replace в том, что сколько ни заменяй, а система потом все равно подставляет, втихаря и за кулисами. Причем узнаешь это уже в сообщении об ошибке, когда поздно пить боржоми.

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

А замечание по базе правильное, и все у нас есть, и даже больше. Народ хочет так!

Спасибо!
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36069030
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnВсе хорошо, но где некультурное слово?
:0)Я тебе его при встрече скажу, шепотом.
Не могу же я, культурный человек, говорить здесь, в культурном обществе, те некультурные слова которые мне хочется сказать глядя на доступ к собственным данным через два внешних интерфейса.
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36069048
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

А у мужчины все интерфейсы должны быть внешними....
:0)
...
Рейтинг: 0 / 0
VBA, EXCEL, Sharepoint, ADODB.Connection
    #36069053
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И на самом деле удобно же.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, EXCEL, Sharepoint, ADODB.Connection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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