powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удалить рисунок в Word
8 сообщений из 8, страница 1 из 1
Удалить рисунок в Word
    #38532819
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim app As Word.Application  
Dim oInlineShape As InlineShape
Set app = New Word.Application
With app.ActiveDocument
For Each oInlineShape In app.ActiveDocument.InlineShapes
   oInlineShape.Delete
Next
End With



Уважаемые форумчане поправьте код что не так ? как удалить все рисунки в активном документе Word ?
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38532851
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 часа потратил и не могу решить подскажите пожалуйста
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38532853
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу в аксесе
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38532926
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor701,

Строка Set app = New Word.Application создает новый экземпляр приложения. следовательно там открыт единственный документ и он пуст. Вам необходимо подключаться к уже запущенному приложению. Как-то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    Dim objWrdApp As Object, oInlineShape as Object
    On Error Resume Next
    'пытаемся подключится к объекту Word
    Set objWrdApp = GetObject(, "Word.Application")
    If objWrdApp Is Nothing Then
        MsgBox "Приложение Word закрыто", vbInformation, "Check_OpenWord"
    End If
    With objWrdApp.ActiveDocument
       For Each oInlineShape In .InlineShapes
          oInlineShape.Delete
       Next
    End With



P.S. Чуть подробнее здесь .
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38532928
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл. В этой части надо выход сделать:
Код: vbnet
1.
2.
3.
4.
    If objWrdApp Is Nothing Then
        MsgBox "Приложение Word закрыто", vbInformation, "Check_OpenWord"
        Exit Sub
    End If
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38532958
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
app.ActiveDocument этот документ открыт отредактирован и активен и имя у него есть The_Pristigor701,

Строка Set app = New Word.Application создает новый экземпляр приложения. следовательно там открыт единственный документ и он пуст. Вам необходимо подключаться к уже запущенному приложению. Как-то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    Dim objWrdApp As Object, oInlineShape as Object
    On Error Resume Next
    'пытаемся подключится к объекту Word
    Set objWrdApp = GetObject(, "Word.Application")
    If objWrdApp Is Nothing Then
        MsgBox "Приложение Word закрыто", vbInformation, "Check_OpenWord"
    End If
    With objWrdApp.ActiveDocument
       For Each oInlineShape In .InlineShapes
          oInlineShape.Delete
       Next
    End With



P.S. Чуть подробнее здесь .
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38533081
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor701,

Как скажете. Только либо Вы код неполностью привели, либо открыт у Вас документ в другом экземпляре приложения, а не в том, в котором Вы из него картинки хотите удалить. Я лишь указал на причины именно в продемонстрированном коде и неверное обращение, пробовать или нет - дело Ваше.
Если выполнить конструкцию
Код: vbnet
1.
2.
3.
4.
5.
With ActiveDocument
For Each oInlineShape In app.ActiveDocument.InlineShapes
   oInlineShape.Delete
Next
End With


напрямую из Word - работает?
...
Рейтинг: 0 / 0
Удалить рисунок в Word
    #38533111
Фотография Сын вождя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все рисунки, то это не только InLineShapes, но и Shape, что в коллекции ShapeRange.

Еще, возможны пропуски при удалении вашим способом. Сталкивался недавно. Удаление рисунков влияет на коллекцию Document.InLineShapes. Правильно: создать свою коллекцию, собрать в нее рисунки, потом уже удалять.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удалить рисунок в Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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