Frage : Innerhalb der Überschrift dynamisch arbeiten, während, arbeitend mit Formen in der Überschrift

Hallo experts

I morgens wundernd, wie ich meinen Code unten verbessern kann. Ich muss eine bestehende genannte Form in der Überschrift meines Dokuments aufheben, sie zu löschen, ein neues Bild und die Größe neu zu bestimmen und den Code der Position this.

My tut einzusetzen folgend ist dies, aber, wenn der Code ich fertig ist, beendet oben noch in der Überschrift des Dokuments. Ich versuchte, ActiveDocument.ActiveWindow.View.SeekView = das wdSeekMainDocument, zum eine Überschrift zu verlassen, aber sie errors.

How kann ich neu schreibt den Code unten, also betrete ich die Überschrift physikalisch nicht mit meinem Code, IE, das ich im Überschrift dynamically.



bearbeite
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:
6:
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 ()
Auf Störung Goto- errInsert
oDialog als Word.Dialog verdunkeln, als Doppeltes lngPictureSize
 oDialog = Dialoge (wdDialogInsertPicture) einstellen
 Pic als InlineShape verdunkeln
 
  Mit oDialog
    . Anzeige
    
Application.ScreenUpdating = falsch


    ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Formen („LogoA“). Auserwählt
    Selection.Delete

    
    Wenn. Namens<> "" dann
        
    Einstellen pic = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Range.InlineShapes.AddPicture (Dateiname: =.Name, _
            LinkToFile: =False, _
            SaveWithDocument: =True, Strecke: =Selection.Range)
            
            Wenn pic. Höhe > pic. Breite dann
                    Mit pic
                        pic.LockAspectRatio = msoTrue
                        Wenn pic. Höhe > MillimetersToPoints (16.1) dann pic. Höhe = MillimetersToPoints (16.1)
                        
                    Ende mit
            Sonst
                    Mit pic
                        pic.LockAspectRatio = msoTrue
                        
                        Wenn pic. Breite > MillimetersToPoints (100) dann pic. Breite = MillimetersToPoints (50)
                        
                    Ende mit
            Beenden wenn
            
            pic.ConvertToShape.Select
            
                Mit Selection.ShapeRange
                . Name = „LogoA“
                .WrapFormat.Type = wdWrapTight
                . Links = CentimetersToPoints (0.98)
                .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
                . Oberseite = CentimetersToPoints (0.98)
                .RelativeVerticalPosition = wdRelativeVerticalPositionPage
                Ende mit
                     
   Beenden wenn
   
  'Störung hier
  ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
   
   Application.ScreenUpdating = richten aus
   
  Ende mit
 oDialog einstellen = nichts
 Unterseeboot herausnehmen
errInsert:
 MsgBox Err.Description, „Störung: Abbildung einsetzen“
Unterseeboot beenden

Antwort : Innerhalb der Überschrift dynamisch arbeiten, während, arbeitend mit Formen in der Überschrift

Sie können mit Formgegenständen direkt arbeiten. Es gibt keine Notwendigkeit, die Vorwähler vorzuwählen und dann zu verwenden.

Auch Sie können eine Form addieren. Sie müssen eine Inline-Form addieren und sie dann umwandeln nicht.

Um mir zu helfen den Code leicht zu lesen, entfernt ich viel Zeilenvorschub und standardisiert das Eindrücken.
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
VorInsertLogoDialog2 ()
oDialog als Word.Dialog verdunkeln, als Doppeltes lngPictureSize
Pic als Form verdunkeln
Rng als Strecke verdunkeln

Auf Störung Goto- errInsert
oDialog = Dialoge (wdDialogInsertPicture) einstellen

Wenn oDialog.Display = -1 dann 'nicht betätigt annullieren
    Application.ScreenUpdating = falsch
    Einstellen pic = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Formen („LogoA“)
    Rng = pic einstellen. Anker
    pic. Löschung
    
    Einstellen pic = ActiveDocument.Shapes.AddPicture (Dateiname: =oDialog.Name, _
          LinkToFile: =False, _
          SaveWithDocument: =True, Anker: =rng)
    
    Mit pic
        .LockAspectRatio = msoTrue
        Wenn. Höhe >. Breite dann
            Wenn. Höhe > MillimetersToPoints (16.1) dann
                . Höhe = MillimetersToPoints (16.1)
            Beenden wenn
        Sonst
            Wenn. Breite > MillimetersToPoints (100) dann
                . Breite = MillimetersToPoints (50)
            Beenden wenn
        Beenden wenn
        . Name = „LogoA“
        .WrapFormat.Type = wdWrapTight
        . Links = CentimetersToPoints (0.98)
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
        . Oberseite = CentimetersToPoints (0.98)
        .RelativeVerticalPosition = wdRelativeVerticalPositionPage
    Ende mit

Beenden wenn

'Störung hier (Linie nicht mehr notwendig)
'ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
Application.ScreenUpdating = ausrichten en

oDialog einstellen = nichts
Unterseeboot herausnehmen
errInsert:
 MsgBox Err.Description, „Störung: Abbildung einsetzen“
Unterseeboot beenden
Weitere Lösungen  
 
programming4us programming4us