Многопользовательский доступ к Excel

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Многопользовательский доступ к Excel

Сообщение Чудик » 26.11.2004 (Пт) 14:06

Может вопрос я задаю в не правильном разделе, но так подумал, что он более относиться к VB, чем к VBA.
Можно ли сделать так, чтобы при работе в книге Excel одновременно несколькими (двумя или тремя) пользователями, можно было организовать для них возможность записи и изменения в этой книге? Обычно, при открытии книги вторым пользователем она открывается только для чтения. Можно ли это обойти?
Если нет, то может можно как-нибудь определить при открытии книги, что с ней уже кто-то работает, так как работа с Excel происходит через самостоятельную программу и сообщения об открытии только для чтения не появляется.
Век живи - век учись!
www.detal-plast.narod.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2004 (Пт) 14:09

Если Excel XP или выше, то там есть специальные функции (команда меню) для совместной работы. Если младше, то ничего не сделаешь.
Скрывать сообщения следует установкой Application.DisplayAlerts = False.
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.11.2004 (Пт) 14:18

alibek :)

В офисе 97 всё прекрасно есть. Сервис :arrow: Доступ к книге. Разрешить совместный доступ. Вторая страница: всякие параметры :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2004 (Пт) 14:57

GSerg, правда? :) Давненько я не работал с офисом ниже XP.
Lasciate ogni speranza, voi ch'entrate.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Многопользовательский доступ к Excel

Сообщение Чудик » 26.11.2004 (Пт) 15:10

Спасибо за содействие. В самом деле в Сервисе есть такая ботва. Почему-то не обращал до сих пор внимания и думал, что такое можно сделать только програмно, в данном случае из работающей внешней программы.
А можно ли как-то определить имя компьютера, работающего параллельно в этой же книге?
Век живи - век учись!
www.detal-plast.narod.ru

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Многопользовательский доступ к Excel

Сообщение Чудик » 26.11.2004 (Пт) 15:52

Я понимаю, что пользователи отображаются в том же окне, где устанавливаются мнгопользовательский режим. Но хотелось бы отображать данную информацию непосредственно в программе, которая использует эту Excel в качестве БД.
Неужели нельзя?
Век живи - век учись!
www.detal-plast.narod.ru

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Re: Многопользовательский доступ к Excel

Сообщение Gloom » 26.11.2004 (Пт) 16:19

Чудик писал(а):Я понимаю, что пользователи отображаются в том же окне, где устанавливаются мнгопользовательский режим. Но хотелось бы отображать данную информацию непосредственно в программе, которая использует эту Excel в качестве БД.
Неужели нельзя?

Эту информацию можно взять из свойства UserStatus, Вот только имени компьютера там нет...

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Многопользовательский доступ к Excel

Сообщение Чудик » 26.11.2004 (Пт) 16:34

А чье это свойство UserStatus? Где его искать?
Век живи - век учись!
www.detal-plast.narod.ru

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 26.11.2004 (Пт) 17:58

Из ёксельной справки:
UserStatus Property Example

This example creates a new workbook and inserts into it information about all users who have the active workbook open as a shared list.

Код: Выделить всё
users = ActiveWorkbook.UserStatus
With Workbooks.Add.Sheets(1)
    For row = 1 To UBound(users, 1)
        .Cells(row, 1) = users(row, 1)
        .Cells(row, 2) = users(row, 2)
        Select Case users(row, 3)
            Case 1
                .Cells(row, 3).Value = "Exclusive"
            Case 2
                .Cells(row, 3).Value = "Shared"
        End Select
    Next
End With


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 10

    TopList