Question : Travailler dans l'en-tête dynamiquement tout en travaillant avec des formes dans l'en-tête

Salut experts

I AM se demandant comment je peux améliorer mon code ci-dessous. Je dois prendre une forme appelée existante dans l'en-tête de mon document, le supprimer, insérer une nouvelle image et les remettre à la côte et le code de la position this.

My ci-dessous fait ceci, mais quand le code est de finition je finit toujours vers le haut dans l'en-tête du document. J'ai essayé d'ajouter ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument à sortir de l'en-tête mais il errors.

How peut je récrivent le code ci-dessous ainsi je n'entre pas dans l'en-tête physiquement avec mon code, IE que je travaille dans le

de l'en-tête dynamically.

class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 " de l'id= " codeSnippet830299 de
 alors
        
    Placer PIC = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Range.InlineShapes.AddPicture (nom de fichier : =.Name, _
            LinkToFile : =False, _
            SaveWithDocument : =True, gamme : =Selection.Range)
            
            Si PIC. Taille > PIC. Largeur alors
                    Avec la PIC
                        pic.LockAspectRatio = msoTrue
                        Si PIC. PIC de taille > de MillimetersToPoints (16.1) puis. Taille = MillimetersToPoints (16.1)
                        
                    Extrémité avec
            Autrement
                    Avec la PIC
                        pic.LockAspectRatio = msoTrue
                        
                        Si PIC. PIC de largeur > de MillimetersToPoints (100) puis. Largeur = MillimetersToPoints (50)
                        
                    Extrémité avec
            Finir si
            
            pic.ConvertToShape.Select
            
                Avec Selection.ShapeRange
                . Nom = « LogoA »
                .WrapFormat.Type = wdWrapTight
                . Gauche = CentimetersToPoints (0.98)
                .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
                . Dessus = CentimetersToPoints (0.98)
                .RelativeVerticalPosition = wdRelativeVerticalPositionPage
                Extrémité avec
                     
   Finir si
   
  'erreur ici
  ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
   
   Application.ScreenUpdating = rectifient
   
  Extrémité avec
 Placer l'oDialog = rien
 Sortir le sous-marin
errInsert :
 MsgBox Err.Description, « erreur : Insérer l'image »
Finir le sous-marin
class= de

Réponse : Travailler dans l'en-tête dynamiquement tout en travaillant avec des formes dans l'en-tête

Vous pouvez travailler avec des objets de forme directement. Il n'y a aucun besoin de choisir et puis employer le choix.

En outre, vous pouvez ajouter une forme. Vous ne devez pas ajouter une forme intégrée et puis la convertir.

Pour m'aider à lire le code plus facilement, j'ai enlevé le beaucoup de l'espacement vertical et ai normalisé le découpage.
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 :
InsertLogoDialog2 secondaires ()
Obscurcir l'oDialog comme Word.Dialog, lngPictureSize en tant que double
Obscurcir la PIC comme forme
Obscurcir le rng comme gamme

Sur l'errInsert GoTo d'erreur
Placer l'oDialog = les dialogues (le wdDialogInsertPicture)

Si oDialog.Display = -1 alors 'décommandent non pressé
    Application.ScreenUpdating = faux
    Placer PIC = ActiveDocument.Sections (1).Headers (wdHeaderFooterFirstPage). Formes (« LogoA »)
    Placer le rng = la PIC. Ancre
    PIC. Suppression
    
    Placer PIC = ActiveDocument.Shapes.AddPicture (nom de fichier : =oDialog.Name, _
          LinkToFile : =False, _
          SaveWithDocument : =True, ancre : =rng)
    
    Avec la PIC
        .LockAspectRatio = msoTrue
        Si. Taille >. Largeur alors
            Si. Taille > MillimetersToPoints (16.1) puis
                . Taille = MillimetersToPoints (16.1)
            Finir si
        Autrement
            Si. Largeur > MillimetersToPoints (100) puis
                . Largeur = MillimetersToPoints (50)
            Finir si
        Finir si
        . Nom = « LogoA »
        .WrapFormat.Type = wdWrapTight
        . Gauche = CentimetersToPoints (0.98)
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
        . Dessus = CentimetersToPoints (0.98)
        .RelativeVerticalPosition = wdRelativeVerticalPositionPage
    Extrémité avec

Finir si

'erreur ici (ligne plus nécessaire)
'ActiveDocument.ActiveWindow.View.SeekView = wdSeekMainDocument
Application.ScreenUpdating = rectifient

Placer l'oDialog = rien
Sortir le sous-marin
errInsert :
 MsgBox Err.Description, « erreur : Insérer l'image »
Finir le sous-marin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us