Question

Je travaille sur un projet. Dans lequel je veux découvrir "ma zone de texte sort-elle de la diapositive ou non?" . Si oui, affichez l'erreur msg.

Donc ma logique est que si j'ai trouvé la dimension de la diapositive, je l'utiliserai si ... sinon condition comme:

If textbox_position < slide_dimension  then
#Error
end if

Si vous avez une autre idée, veuillez me le dire.

Merci

Était-ce utile?

La solution

Les propriétés .PagesEtup.SlideWidth de la présentation et .SlideHeight vous donneront les dimensions de la diapositive en points.

Votre fonction devrait faire quelque chose comme (en haut de la tête et hors de l'air ..):

Function IsOffSlide (oSh as Shape) as Boolean
  Dim sngHeight as single
  Dim sngWidth as Single
  Dim bTemp as Boolean

  bTemp = False ' by default

  With ActivePresentation.PageSetup
    sngHeight = .SlideHeight
    sngWidth = .SlideWidth
  End With

  ' this could be done more elegantly and in fewer lines 
  ' of code, but in the interest of making it clearer
  ' I'm doing it as a series of tests.
  ' If any of them are true, the function will return true
  With oSh
    If .Left < 0 Then
       bTemp = True
    End If
    If .Top < 0 Then
       bTEmp = True
    End If
    If .Left + .Width > sngWidth Then
       bTemp = True
    End If
    If .Top + .Height > sngHeight Then
       bTemp = True
    End If
  End With

  IsOffSlide = bTemp
End Function

Autres conseils

Pourquoi n'utilisez-vous pas les espaces réservés de PowerPoint pour le faire? par exemple:

Sub SetText(IndexOfSlide As Integer, txt As String)
'http://officevb.com
       ActivePresentation.Slides(IndexOfSlide).Shapes.Placeholders(1).TextFrame.TextRange.Text = txt
End Sub

Vous pouvez appeler ce sous-marin et passer les paramètres

IndexofSlide avec un certain nombre de diapositions et txt avec un texte à créer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top