Вопрос : Работайте внутри коллектор динамический, пока работающ с формами в коллекторе

Hi experts

I am интересуя как я могу улучшить мое Кодего ниже. Мне нужно выбрать вверх существуя названную форму в коллекторе моего документа, уничтожить его, ввести новое изображение и изменить размеры и Кодего положения this.

My ниже делают это, но когда Кодий законченный я кончаются вверх все еще в коллекторе документа. Iий судимое добавляя ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument, котор нужно получить из коллектора но его errors.

How может я перезаписывает Кодего ниже поэтому я не вхожу коллектор физическ с моим Кодим, ie, котор я работаю в

коллектора dynamically.

class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
>Sub InsertLogoDialog2 " class= " id= " codeSnippet830299
 после этого
        
    Установите pic = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Range.InlineShapes.AddPicture (FileName: =.Name, _
            LinkToFile: =False, _
            SaveWithDocument: =True, ряд: =Selection.Range)
            
            Если pic. Высота > pic. Ширина после этого
                    С pic
                        pic.LockAspectRatio = msoTrue
                        Если pic. Pic высоты > MillimetersToPoints (16.1) после этого. Высота = MillimetersToPoints (16.1)
                        
                    Конец с
            Еще
                    С pic
                        pic.LockAspectRatio = msoTrue
                        
                        Если pic. Pic ширины > MillimetersToPoints (100) после этого. Ширина = MillimetersToPoints (50)
                        
                    Конец с
            Закончитесь если
            
            pic.ConvertToShape.Select
            
                С Selection.ShapeRange
                . Имя = «LogoA»
                .WrapFormat.Type = wdWrapTight
                . Левая сторона = CentimetersToPoints (0.98)
                .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
                . Верхняя часть = CentimetersToPoints (0.98)
                .RelativeVerticalPosition = wdRelativeVerticalPositionPage
                Конец с
                     
   Закончитесь если
   
  'ошибка здесь
  ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
   
   Application.ScreenUpdating = True
   
  Конец с
 Установите oDialog = ничего
 Выходите подводная лодка
errInsert:
 MsgBox Err.Description, «ошибка: Введите изображение»
Закончите подводную лодку
class=

Ответ : Работайте внутри коллектор динамический, пока работающ с формами в коллекторе

Вы можете работать с предметами формы сразу. Не будет потребности выбрать и после этого использовать выбор.

Также, вы можете добавить форму. Вы не должны добавить встроенную форму и после этого преобразовать ее.

Для того чтобы помочь мне прочитать Кодего легк, я извлекал много вертикальное дистанционирование и унифицировал выделять.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
Sub InsertLogoDialog2 ()
Затемните oDialog как Word.Dialog, lngPictureSize как двойник
Затемните pic как форма
Затемните rng как ряд

На errInsert ошибки переход
Установите oDialog = диалоги (wdDialogInsertPicture)

Если oDialog.Display = -1 после этого 'отменяют после того как они отжаты
    Application.ScreenUpdating = ложно
    Установите pic = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Формы («LogoA»)
    Установите rng = pic. Анкер
    pic. Delete
    
    Установите pic = ActiveDocument.Shapes.AddPicture (FileName: =oDialog.Name, _
          LinkToFile: =False, _
          SaveWithDocument: =True, анкер: =rng)
    
    С pic
        .LockAspectRatio = msoTrue
        Если. Высота >. Ширина после этого
            Если. Высота > MillimetersToPoints (16.1) после этого
                . Высота = MillimetersToPoints (16.1)
            Закончитесь если
        Еще
            Если. Ширина > MillimetersToPoints (100) после этого
                . Ширина = MillimetersToPoints (50)
            Закончитесь если
        Закончитесь если
        . Имя = «LogoA»
        .WrapFormat.Type = wdWrapTight
        . Левая сторона = CentimetersToPoints (0.98)
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
        . Верхняя часть = CentimetersToPoints (0.98)
        .RelativeVerticalPosition = wdRelativeVerticalPositionPage
    Конец с

Закончитесь если

'ошибка здесь (выровняйте не более длиннее обязательно)
'ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
Application.ScreenUpdating = True

Установите oDialog = ничего
Выходите подводная лодка
errInsert:
 MsgBox Err.Description, «ошибка: Введите изображение»
Закончите подводную лодку
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us