Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как защитить вставленную картинку от userа, но оставить редактирование VBA / 3 сообщений из 3, страница 1 из 1
12.12.2017, 14:35
    #39568356
abwabw
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить вставленную картинку от userа, но оставить редактирование VBA
MS Excel 2003 .
Лист защищён паролем.
При запуске листа открываю доступ к работе с ячейками средствами VBA командой
Код: vbnet
1.
Sheets(1).Protect Password:="123", UserInterfaceOnly:=True


В ячейку командой вставляю картинку.
Код: vbnet
1.
Sheets(1).Pictures.Insert(“C:\myPic.jpg”)


Потом картинку надо удалить. Удаляю командой
Код: vbnet
1.
2.
3.
4.
5.
With sheets(1)
     .Pictures.Delete
'    .DrawingObject.Delete
'    .Shapes.Delete
    End With


Но картинка не удаляется. Ошибок никаких не выдаётся, просто картинка остаётся на месте. Если вручную снять защиту, картинка программно удаляется.

Вопрос: как организовать чтобы картинку можно было бы программно удалить на защищённом листе?
...
Рейтинг: 0 / 0
12.12.2017, 15:30
    #39568390
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить вставленную картинку от userа, но оставить редактирование VBA
abwabwЕсли вручную снять защиту, картинка программно удаляетсяПопробуйте программно снять защиту, удалить картинку, установить защиту.
...
Рейтинг: 0 / 0
25.12.2017, 03:52
    #39575149
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить вставленную картинку от userа, но оставить редактирование VBA
Вместо .Pictures.Delete должно быть .Pictures(1).Delete или .Pictures(.Pictures.Count).Delete
Можно также использовать объектную переменную вставленной картинки:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Explicit

Dim MyPicture As Object

Sub Auto_Open()
  Sheets(1).Protect Password:="123", UserInterfaceOnly:=True
End Sub

Sub InsertPicture()
  Set MyPicture = Sheets(1).Pictures.Insert("C:\myPic.jpg")
End Sub

Sub DeletePicture()
  If Not MyPicture Is Nothing Then MyPicture.Delete
  Set MyPicture = Nothing
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как защитить вставленную картинку от userа, но оставить редактирование VBA / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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