Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2012, 11:21   #1
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию Ошибка 424 на строке с ActiveDocument.ReadOnly ?

На код
выдает ошибку Ошибка 424 Object required
на строке If ActiveDocument.ReadOnly <> True Then

Цитата:
Sub Вывод_результата()

If ActiveDocument.ReadOnly <> True Then

m = InputBox("Внимание, свой результат можно посмотреть ТОЛЬКО ОДИН раз. Введи СВОЮ фамилию:", "Кто здесь?")
......................
......................
ThisWorkbook.Save ' принудительное сохранение
Else: MsgBox "Нельзя узнать результ, если файл открыт только для чтения"
End If
End Sub
В инете смотрел примеры - вроде ошибки не должно быть...
Подскажите в чем причина?

Суть данного условия в том, что бы макрос не выполнялся если файл открыть только для чтения. (например, если файл лежит в сети и его откроют одновременно несколько человек, то у всех кроме первого макрос не выполнялся)


И попутно вопросик.
А как можно сделать привязку файла к компьютеру на котором он лежит (или к полному пути) т.е. что бы файл лежал в сетевой папке и только из нее все макросы работали, а если скопировать его на свой комп, то макрос бы не стал выполняться и выдал сообщение об этом.
Вложения
Тип файла: rar проверка атрибута.rar (8.8 Кб, 10 просмотров)
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 09.02.2012 в 11:40.
Snekich вне форума Ответить с цитированием
Старый 09.02.2012, 11:46   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

ActiveDocument - это ворд
ActiveWorkbook - это ексель
аналитика вне форума Ответить с цитированием
Старый 09.02.2012, 12:28   #3
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
ActiveDocument - это ворд
ActiveWorkbook - это ексель
Спасибо.

И попутно вопросик.
А как можно сделать привязку файла к компьютеру на котором он лежит (или к полному пути) т.е. что бы файл лежал в сетевой папке и только из нее все макросы работали, а если скопировать его на свой комп, то макрос бы не стал выполняться и выдал сообщение об этом?
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 09.02.2012, 12:44   #4
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

в каждый макрос напиши:
Код:
if not checkPath then msgbox "макросы работают только...": exit sub
соотв-но функция проверки:
Код:
public function checkPath () as boolean
   checkPath = (thisworkbook.path="x:\xx\xxx")
end function
аналитика вне форума Ответить с цитированием
Старый 09.02.2012, 13:40   #5
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
в каждый макрос напиши:
Код:
if not checkPath then msgbox "макросы работают только...": exit sub
соотв-но функция проверки:
Код:
public function checkPath () as boolean
   checkPath = (thisworkbook.path="x:\xx\xxx")
end function
Спасибо, заработало как надо.

Будете смеяться, но файл нужен для банальной жеребьевки в отделе кто-кого поздравляет на какой-нибудь праздник :D
Надо было сделать так, что бы файл сам распределял и никто и никак (на уровне пытливого пользователя) не мог посмотреть результаты жеребьевки кроме своего. Желаемого результата вроде как добился, пока исключил все возможные способы, которые мне пришли в голову, узнать "чужие результаты" (ну и файл запоминает все, что можно о том кто уже в него заходил).
А то с "листочками из шляпы" были вечные проблемы - постоянно кто-нибудь вытягивал сам себя. :D

Теперь "детская интрига" сохраняется до праздника. И главное - все по честному)))
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 09.02.2012 в 13:52.
Snekich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск одномерного вектора из 40 элементов в векторе 424 элемента kds006 Помощь студентам 2 01.06.2011 17:18
ActiveDocument.Words(1).Characters( 3) chugo Microsoft Office Word 2 07.07.2010 13:42
ReadOnly и Const Pti44ka Общие вопросы .NET 8 23.04.2010 16:32
TextBox(readonly) Chartvit Общие вопросы C/C++ 1 21.11.2009 22:36
Error 1 Property 'Item' is 'ReadOnly' [SK]OzzY Общие вопросы .NET 2 18.04.2009 23:49