Bonjour,
ci-dessous une macro qui insère une image du PPapier ,la redimensionne et l’ancre comme caractère,
je n’arrive pas à trouver pourquoi à la fin le code qui insère un “retour chariot” est inopérant quand il est dans le code de la macro(le curseur visible clignote derrière l’image et pas à la ligne suivante), et qu’il fonctionne dès que je reviens dans le document et que je le lance avec un raccourci-clavier.
Merci de votre aide !
Blockquote
sub colascar
rem ----------------------------------------------------------------------
dim document as object
dim dispatcher as Object
dim masel as object
Dim oSize as new com.sun.star.awt.Size
On Error GoTo PPVIDE
rem -------------------colle l’image---------------------------------------------------
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, “.uno:Paste”, “”, 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, “.uno:SetAnchorToChar”, “”, 0, Array())
rem ---------redimensionnement--------------------------------------
masel = ThisComponent.CurrentSelection
oSize.Width = Int(masel.Width0,95)
oSize.Height = Int(masel.Height0,95)
rem désellectionne le graphique en simulant touche escape
simulate_KeyPress_ESCAPE()
simulate_KeyPress_RETURN
exit sub
PPVIDE:
rem annule le collage précédent (si texte)
Call CtrlZ
MsgBox “PP sûrement vide ?”
MsgBox Error
Resume Next
end Sub
Sub simulate_KeyPress_ESCAPE()
Dim oKeyEvent As New com.sun.star.awt.KeyEvent
oKeyEvent.Modifiers = 0 REM A combination of com.sun.star.awt.KeyModifier.
oKeyEvent.KeyCode = com.sun.star.awt.Key.ESCAPE
oKeyEvent.KeyChar = chr( 27 )
simulate_KeyPress( oKeyEvent )
End Sub
Sub simulate_KeyPress( oKeyEvent As com.sun.star.awt.KeyEvent )
If Not IsNull( oKeyEvent ) Then
Dim oWindow As Object, oToolkit As Object
oWindow = ThisComponent.CurrentController.Frame.getContainerWindow()
oKeyEvent.Source = oWindow
oToolkit = oWindow.getToolkit() REM com.sun.star.awt.Toolkit
oToolkit.keyPress( oKeyEvent ) REM methods of XToolkitRobot.
oToolkit.keyRelease( oKeyEvent )
End If
End Sub
sub simulate_KeyPress_RETURN()
rem simule enter
Dim oKeyEvent As New com.sun.star.awt.KeyEvent
oKeyEvent.Modifiers = 0 REM A combination of com.sun.star.awt.KeyModifier.
oKeyEvent.KeyCode = com.sun.star.awt.Key.RETURN
oKeyEvent.KeyChar = chr( 13)
simulate_KeyPress( oKeyEvent )
end Sub
Blockquote