Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удалить рисунок в Word / 8 сообщений из 8, страница 1 из 1
21.01.2014, 11:02
    #38532819
igor701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
Код: 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
21.01.2014, 11:27
    #38532851
igor701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
2 часа потратил и не могу решить подскажите пожалуйста
...
Рейтинг: 0 / 0
21.01.2014, 11:28
    #38532853
igor701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
Пишу в аксесе
...
Рейтинг: 0 / 0
21.01.2014, 12:29
    #38532926
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
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
21.01.2014, 12:30
    #38532928
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
Забыл. В этой части надо выход сделать:
Код: vbnet
1.
2.
3.
4.
    If objWrdApp Is Nothing Then
        MsgBox "Приложение Word закрыто", vbInformation, "Check_OpenWord"
        Exit Sub
    End If
...
Рейтинг: 0 / 0
21.01.2014, 13:05
    #38532958
igor701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
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
21.01.2014, 14:24
    #38533081
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить рисунок в Word
igor701,

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


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

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


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