Actuellement, j'ai un code qui imprimera OMR Mark sur chaque page. Fondamentalement, j'insère un Canvas
dans chaque page et par la suite un OMR Mark Line Series sont insérés dans le Canvas
.Déterminez si un canevas a été inséré dans chaque page dans Word
Récemment, j'ai trouvé un problème qui, d'une manière ou d'une autre, est que l'un des canevas est placé hors d'une page et il apparaît à la page précédente au lieu de la page en cours.
est Ci-dessous l'extrait de code dans la façon dont i inséré la toile ainsi que dans chaque OMR Marques page:
' Start Code Snippet
Sub GenerateOMR()
Dim ShpCanvas As Shape
Dim MaxPages As Integer
Dim PNo As Integer
ClearOMR
MaxPages = Selection.Information(wdNumberOfPagesInDocument)
For PNo = 1 To MaxPages
Selection.GoTo What:=wdGoToPage, Which:=wdGoToFirst, Count:=PNo, Name:=""
Select Case PNo
Case 1
Set ShpCanvas = ActiveDocument.Shapes.AddCanvas(0, 0.5, 600, 300)
Case Else
Set ShpCanvas = ActiveDocument.Shapes.AddCanvas(0, 0, 600, 300)
End Select
' Add a canvas on each page
With ShpCanvas
.Name = "OMR_Canvas_" & CStr(PNo)
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
End With
' Insert a white background rectange and remove the rectangle border line
With ShpCanvas.CanvasItems.AddShape(msoShapeRectangle, 536, 0, 64, 300)
.Name = "OMR_WhiteBackground_" & CStr(PNo)
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.ForeColor.RGB = RGB(255, 255, 255)
End With
PrintOMRPage ShpCanvas, PNo
Next PNo
End Sub
' End Code Snippet
Il existe une méthode personnalisée appelée méthode PrintOMRPage qui ne sont pas pertinentes.
Ma question maintenant, comment puis-je savoir si une toile a été insérée dans une page? Fondamentalement, je vais boucler dans toutes les pages et vérifier si un canevas a été inséré dans cette page. Apparemment, je ne peux pas trouver la bonne façon.
J'ai essayé de vérifier en utilisant ActiveDocument.Shapes(1).Top
et de valider si la position Top
est une valeur négative. Mais apparemment la position Top
est toujours mesurée à partir du haut de chaque page.