[fr-users] macro dans writer

2011-06-15 Thread Olivier Jaccomard

Bonjour,

cherchant à convertir un système fait sous Word, je voudrais faire une 
macro qui remplace tous les caractères µ d'un document par un nombre 
aléatoire entre 1 et 8.


J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) :

Pouvez-vous m'aider ?
Cordialement,
O.Jaccomard

Sub Macro1
Randomize 2^14-1
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object

monDocument = ThisComponent
monTexte=monDocument.Text
monCurseur=monTexte.createTextCursor
curseurVisible=monDocument.CurrentController.getViewCursor
monDocument.CurrentController.Select(monCurseur)
monCurseur.gotoStart(False)
curseurVisible.gotoStart(false)
For i=1 To monDocument.CharacterCount
If (curseurVisible.String="µ") Then
curseurVisible.String=Int((8*Rnd)+1)
End If
monCurseur.goRight(1,false)
curseurVisible.goRight(1,false)
Next i
End Sub


--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



[fr-users] Macro dans Writer

2015-08-06 Thread paour
Bonjour,
Je planche sur une macro, mais je tourne en rond !
J’ai une page, avec un cadre. Dans ce cadre j’ai un tableau.
Je veux coller une image en mémoire dans ce tableau.
1- je colle avec cette fonction :
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
2- j’arrive a sélectionner mon cadre avec cette fonction :
dispatcher.executeDispatch(document, ".uno:JumpToNextFrame", "", 0, Array())

mais je n’arrive pas à entrer dans le cadre (et donc dans le tableau)

Je m'inspire de cette page 
https://wiki.documentfoundation.org/Development/DispatchCommands#Writer_slots_.28swslots.29

Une idée
Merci
Nicolas

Voici le script
REM  *  BASIC  *

sub Main
rem --
rem define variables
dim document   as object
dim dispatcher as object
msgbox("l'image va être copiée depuis Draw") 

rem --
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem --
rem on colle l'image en mémoire depuis Draw
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem --
rem on ancre comme caractère l'image
dispatcher.executeDispatch(document, ".uno:SetAnchorToChar", "", 0, 
Array())
rem --
rem on coupe l'image qui est n'importe où après l'ancrage
dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
rem --
rem on se place en début de document, 2 pages, donc certains d'être en début de 
première page
dispatcher.executeDispatch(document, ".uno:GoToStartOfPrevPage", "", 0, 
Array())
rem --
rem on deplace le curseur 2 fois à droite (on est dans un premier tableau)
dim argsdroite(1) as new com.sun.star.beans.PropertyValue
argsdroite(0).Name = "Count"
argsdroite(0).Value= 2
argsdroite(1).Name = "Select"
argsdroite(1).Value= false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, 
argsdroite())
rem --
rem on colle l'image en mémoire dans la cellule (elle est en tans que 
caractere, ancrage précédent)
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem --
Rem on detecte la prochaine frame
dispatcher.executeDispatch(document, ".uno:JumpToNextFrame", "", 0, Array())

rem et puis je seche ...

end sub

-- 
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés


[fr-users] Macro dans Writer

2015-08-08 Thread Nicolas PAOUR

Bonjour,
Merci, je vais regarder
Nicolas


Nicolas Paour
292, route du Grenat
Villette
38380 Saint Laurent du Pont
Tel : 09 52 30 99 07
Mob : 06 51 96 10 45
Fax : 09 57 30 99 07




Sujet :
Re: [fr-users] Macro dans Writer
De :
linux 
Date :
07/08/2015 08:48

Pour :
users@fr.libreoffice.org


Ci-joint un exemple de procédure que j'utilise pour copier un 
diagramme  dans un tableau de writer à la position que je veux.
remarque il largement perfectible de plus j'appelle d'autre procédure 
qui sont suffisamment explicite pour être remplacer par des lignes de 
codes adéquate et il reste la définition de l'ancrage que je n'arrive 
pas à faire.
Attention aux ouverture et fermeture de fichier elle rende active le 
document

Cordialement
Jean Luc
-
- [fr-users] Re: Espaces insécables
-   21366 - William Pyke 
-
- [fr-users] Re: Espaces insécables
-   21367 - William Pyke 
-
- [fr-users] installation libreoffice 4.4 sous windows 10
-   21368 - vulcain 
-
- [fr-users] installation libreoffice 4.4 sous windows 10
-   21369 - Sébastien Adam 
-
- [fr-users] Icônes Sifr
-   21370 - Didier TROM 
-
- [fr-users] installation libreoffice 4.4 sous windows 10
-   21371 - Jacques Guilleron 
-




--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés


[fr-users] Macro dans writer

2017-12-17 Thread Bernard Siaud alias Troumad

Bonjour

En partant de la doc de LibreOffice ( 
https://wiki.documentfoundation.org/Documentation/BASIC_Guide/fr ) , on 
est renvoyé sur la doc de AOO.
J'arrive ici : 
https://wiki.openoffice.org/wiki/FR/Documentation/BASIC_Guide/Structure_of_Text_Documents

Et je teste le premier programme :


REM  *  BASIC  *


sub Main

Dim Doc As Object
Dim Enum As Object
Dim TextElement As Object

' Create document object
Doc = StarDesktop.CurrentComponent
' Create enumeration object
Enum = Doc.Text.createEnumeration
' loop over all text elements

While Enum.hasMoreElements
  TextElement = Enum.nextElement

  If TextElement.supportsService("com.sun.star.text.TextTable") Then
    MsgBox "The current block contains a table."
  End If

  If TextElement.supportsService("com.sun.star.text.Paragraph") Then
    MsgBox "The current block contains a paragraph."
  End If

Wend


end sub


Et ça ne marche pas :

Erreur d'exécution BASIC.
Propriété ou méthode non trouvée : Text.

Doc.Text est inconnu :(
--
Amicalement vOOotre  Troumad Alias Bernard SIAUD
mon site : http://troumad.org : AD&D maths WEB...
Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ 
N'envoyez que des documents avec des formats ouverts, comme 
http://fr.libreoffice.org


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] macro dans writer

2011-06-16 Thread claude

Bonjour,

Pourquoi ne pas utiliser le recherche et remplace.

L'exemple ci-dessous a été fait sous OO 3.2.1 mais cela doit fonctionner 
sous libreoffice ( afin je le souhaite)


Option Explicit

Sub RemplacerCaractereParNombreAleatoire()
Dim monDocument As Object
Dim Cherche As Object, trouv As Variant
Dim x As Long
monDocument = ThisComponent
Cherche = monDocument.createSearchDescriptor
with Cherche
 .SearchString = "µ"
 .SearchWords = false
end with
trouv = monDocument.findAll(Cherche)
print "Nombre d'occurrences : " & trouv.Count
for x = 0 to trouv.Count -1
 trouv(x).string = Int((8*Rnd)+1)
next
End Sub

Cordialement

Claude
 Message original ----
Sujet : [fr-users] macro dans writer
De : Olivier Jaccomard 
Pour : users@fr.libreoffice.org
Date : 15/06/2011 23:52

Bonjour,

cherchant à convertir un système fait sous Word, je voudrais faire une 
macro qui remplace tous les caractères µ d'un document par un nombre 
aléatoire entre 1 et 8.


J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) :

Pouvez-vous m'aider ?
Cordialement,
O.Jaccomard

Sub Macro1
Randomize 2^14-1
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object

monDocument = ThisComponent
monTexte=monDocument.Text
monCurseur=monTexte.createTextCursor
curseurVisible=monDocument.CurrentController.getViewCursor
monDocument.CurrentController.Select(monCurseur)
monCurseur.gotoStart(False)
curseurVisible.gotoStart(false)
For i=1 To monDocument.CharacterCount
If (curseurVisible.String="µ") Then
curseurVisible.String=Int((8*Rnd)+1)
End If
monCurseur.goRight(1,false)
curseurVisible.goRight(1,false)
Next i
End Sub






--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] macro dans writer

2011-06-16 Thread Élodie Omer
Bonjour, 

>Pourquoi ne pas utiliser le recherche et remplace. 

Comment fait-on alors le nombre aléatoire ??? 


 Message original  
Sujet : [fr-users] macro dans writer 
De : Olivier Jaccomard  
Pour : users@fr.libreoffice.org 
Date : 15/06/2011 23:52 
> Bonjour, 
> 
> cherchant à convertir un système fait sous Word, je voudrais faire une 
> macro qui remplace tous les caractères µ d'un document par un nombre 
> aléatoire entre 1 et 8. 
> 
> J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) : 
> 
> Pouvez-vous m'aider ? 
> Cordialement, 
> O.Jaccomard 
> 
> Sub Macro1 
> Randomize 2^14-1 
> Dim monDocument As Object, monTexte As Object 
> Dim monCurseur As Object 
> Dim curseurVisible As Object 
> 
> monDocument = ThisComponent 
> monTexte=monDocument.Text 
> monCurseur=monTexte.createTextCursor 
> curseurVisible=monDocument.CurrentController.getViewCursor 
> monDocument.CurrentController.Select(monCurseur) 
> monCurseur.gotoStart(False) 
> curseurVisible.gotoStart(false) 
> For i=1 To monDocument.CharacterCount 
> If (curseurVisible.String="µ") Then 
> curseurVisible.String=Int((8*Rnd)+1) 
> End If 
> monCurseur.goRight(1,false) 
> curseurVisible.goRight(1,false) 
> Next i 
> End Sub 
> 
> 



-- 
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire 
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/ 
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés 


-- 
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] macro dans writer

2011-06-16 Thread pierre (message personnel)
idée de bidouille : copier-coller dans un tableur et utiliser 
=SUBSTITUE(B7;"µ";ALEA.ENTRE.BORNES(1;8))
sauf que le passage writer<>calc transforme les paragraphes en cellules 
: donc si plusieurs occurrences de "µ" dans un paragraphes, le tirage 
aléatoire est le même pour toutes les occurrences...
il faudrait trouver un moyen d'exploser le texte pour mettre un mot dans 
chaque cellule

bonne jourrnée,
Pierrre

Le 16/06/2011 11:16, Élodie Omer a écrit :

Bonjour,


Pourquoi ne pas utiliser le recherche et remplace.

Comment fait-on alors le nombre aléatoire ???


 Message original ----
Sujet : [fr-users] macro dans writer
De : Olivier Jaccomard
Pour : users@fr.libreoffice.org
Date : 15/06/2011 23:52

Bonjour,

cherchant à convertir un système fait sous Word, je voudrais faire une
macro qui remplace tous les caractères µ d'un document par un nombre
aléatoire entre 1 et 8.

J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) :

Pouvez-vous m'aider ?
Cordialement,
O.Jaccomard

Sub Macro1
Randomize 2^14-1
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object

monDocument = ThisComponent
monTexte=monDocument.Text
monCurseur=monTexte.createTextCursor
curseurVisible=monDocument.CurrentController.getViewCursor
monDocument.CurrentController.Select(monCurseur)
monCurseur.gotoStart(False)
curseurVisible.gotoStart(false)
For i=1 To monDocument.CharacterCount
If (curseurVisible.String="µ") Then
curseurVisible.String=Int((8*Rnd)+1)
End If
monCurseur.goRight(1,false)
curseurVisible.goRight(1,false)
Next i
End Sub







--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] macro dans writer

2011-06-16 Thread claude

Bonjour,

C'est fait grâce aux instructions suivantes (dans la macro que j'ai envoyée)

for x = 0 to trouv.Count -1
trouv(x).string = Int((8*Rnd)+1)
next

 Message original 
Sujet : Re: [fr-users] macro dans writer
De : Élodie Omer 
Pour : users@fr.libreoffice.org
Date : 16/06/2011 11:16
Bonjour, 

  
Pourquoi ne pas utiliser le recherche et remplace. 



Comment fait-on alors le nombre aléatoire ??? 



 Message original  
Sujet : [fr-users] macro dans writer 
De : Olivier Jaccomard  
Pour : users@fr.libreoffice.org 
Date : 15/06/2011 23:52 
  
Bonjour, 

cherchant à convertir un système fait sous Word, je voudrais faire une 
macro qui remplace tous les caractères µ d'un document par un nombre 
aléatoire entre 1 et 8. 

J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) : 

Pouvez-vous m'aider ? 
Cordialement, 
O.Jaccomard 

Sub Macro1 
Randomize 2^14-1 
Dim monDocument As Object, monTexte As Object 
Dim monCurseur As Object 
Dim curseurVisible As Object 

monDocument = ThisComponent 
monTexte=monDocument.Text 
monCurseur=monTexte.createTextCursor 
curseurVisible=monDocument.CurrentController.getViewCursor 
monDocument.CurrentController.Select(monCurseur) 
monCurseur.gotoStart(False) 
curseurVisible.gotoStart(false) 
For i=1 To monDocument.CharacterCount 
If (curseurVisible.String="µ") Then 
curseurVisible.String=Int((8*Rnd)+1) 
End If 
monCurseur.goRight(1,false) 
curseurVisible.goRight(1,false) 
Next i 
End Sub 








  




--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] macro dans writer

2011-06-18 Thread Olivier Jaccomard

Le 16/06/2011 10:26, claude a écrit :

Bonjour,

Pourquoi ne pas utiliser le recherche et remplace.

L'exemple ci-dessous a été fait sous OO 3.2.1 mais cela doit 
fonctionner sous libreoffice ( afin je le souhaite)


Option Explicit

Sub RemplacerCaractereParNombreAleatoire()
Dim monDocument As Object
Dim Cherche As Object, trouv As Variant
Dim x As Long
monDocument = ThisComponent
Cherche = monDocument.createSearchDescriptor
with Cherche
 .SearchString = "µ"
 .SearchWords = false
end with
trouv = monDocument.findAll(Cherche)
print "Nombre d'occurrences : " & trouv.Count
for x = 0 to trouv.Count -1
 trouv(x).string = Int((8*Rnd)+1)
next
End Sub

Cordialement

Claude

Une solution bien plus élégante, propre, et rapide !
Merci, Claude.

 Message original ----
Sujet : [fr-users] macro dans writer
De : Olivier Jaccomard 
Pour : users@fr.libreoffice.org
Date : 15/06/2011 23:52

Bonjour,

cherchant à convertir un système fait sous Word, je voudrais faire 
une macro qui remplace tous les caractères µ d'un document par un 
nombre aléatoire entre 1 et 8.


J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) :

Pouvez-vous m'aider ?
Cordialement,
O.Jaccomard

Sub Macro1
Randomize 2^14-1
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object

monDocument = ThisComponent
monTexte=monDocument.Text
monCurseur=monTexte.createTextCursor
curseurVisible=monDocument.CurrentController.getViewCursor
monDocument.CurrentController.Select(monCurseur)
monCurseur.gotoStart(False)
curseurVisible.gotoStart(false)
For i=1 To monDocument.CharacterCount
If (curseurVisible.String="µ") Then
curseurVisible.String=Int((8*Rnd)+1)
End If
monCurseur.goRight(1,false)
curseurVisible.goRight(1,false)
Next i
End Sub







P


--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés



Re: [fr-users] Macro dans Writer

2015-08-06 Thread linux
Ci-joint un exemple de procédure que j'utilise pour copier un diagramme  
dans un tableau de writer à la position que je veux.
remarque il largement perfectible de plus j'appelle d'autre procédure 
qui sont suffisamment explicite pour être remplacer par des lignes de 
codes adéquate et il reste la définition de l'ancrage que je n'arrive 
pas à faire.
Attention aux ouverture et fermeture de fichier elle rende active le 
document

Cordialement
Jean Luc


Sub 
CopierUnDiagrammeDansUnTableauDUnePage(oMonDocumentCUDDUP,NomFeuilleDiagrammeCUDDUP,nomFEUILLEdonneeCUDDUP,_

NOMdiagrameCUDDUP,oMonDocumentTexteCUDDUP,NomDuTableauCUDDUP,PositionDeLaCopieDansLeTableauCUDDUP,statutCUDDUP)

 Dim oMonDiagrammeCUDDUP, oLeDiagrammeCUDDUP, 
oLesFeuillesCUDDUP,oMaFeuilleCUDDUP, FenetreSelectionnerCUDDUP As Object

 Dim oMonTableauCUDDUP As Object
 Dim ServiceCUDDUP, PositionDuCurseurDansLeTableauCUDDUP, 
NomDuFichierCalcCUDDUP  As String

 Dim LeDiagrammeExisteCUDDUP As Boolean
 Dim oDispatchHelperCUDDUP As Object
' dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
 Dim ArgsCUDDUP(0) as new com.sun.star.beans.PropertyValue
 dim PysDoc,PysCopie as object, PysDestination, oDocCtrl, oDocFrame, 
oDrawDoc, oDrawPage , oDrawDocCtrl, oDrawDocFrame as object
 Dim NiveauDebugCUDDUP, 
NbrDeDiagrammeCUDDUP,DeplacementHorizontalCUDDUP, 
DeplacementVerticalCUDDUP As Integer


 NiveauDebugCUDDUP=1
 MessageDebug(NiveauDebugCUDDUP,3,582,"CopierUnDiagrammeDansUnePage")
 NomDuFichierCalcCUDDUP = oMonDocumentCUDDUP.Location 'l'argument n'est 
pas facultatif

 If NOMdiagrameCUDDUP="" Then
   NOMdiagrameCUDDUP="Object 1"
 End If
' On Error Goto errmodifCUDDUP
 oMaFeuilleCUDDUP = 
oMonDocumentCUDDUP.sheets.getByName(NomFeuilleDiagrammeCUDDUP)

 For NbrDeDiagrammeCUDDUP = 0 to oMaFeuilleCUDDUP.DrawPage.count - 1
  oMonDiagrammeCUDDUP = 
oMaFeuilleCUDDUP.DrawPage.getByIndex(NbrDeDiagrammeCUDDUP)

  If oMonDiagrammeCUDDUP.name = NOMdiagrameCUDDUP Then
thiscomponent.currentcontroller.select(oMonDiagrammeCUDDUP)
oLeDiagrammeCUDDUP   = ThisComponent.CurrentController.Frame
oDispatchHelperCUDDUP = 
createUnoService("com.sun.star.frame.DispatchHelper")
oDispatchHelperCUDDUP.executeDispatch(oLeDiagrammeCUDDUP , 
".uno:Copy", "", 0, Array())

NbrDeDiagrammeCUDDUP = oMaFeuilleCUDDUP.DrawPage.count - 1
   Else
If NbrDeDiagrammeCUDDUP = oMaFeuilleCUDDUP.DrawPage.count - 1 Then
MessageDebug(NiveauDebugCUDDUP,1,605,"CopierUnDiagrammeDansUnePage",Array("nom 
du diagramme selectionné ",oMonDiagrammeCUDDUP.name ,"nom du diagramme à 
trouver ", NOMdiagrameCUDDUP)

End If
  End If
 Next NbrDeDiagrammeCUDDUP
 EnregistrerEtFermer(oMonDocumentCUDDUP)
 EnregistrerE(oMonDocumentTexteCUDDUP)
 oMonTableauCUDDUP = 
oMonDocumentTexteCUDDUP.createInstance("com.sun.star.text.TextTable")
 oMonTableauCUDDUP = 
FindObjectByName(oMonDocumentTexteCUDDUP.TextTables,NomDuTableauCUDDUP, 
"com.sun.star.text.TextTable")

 ThisComponent.CurrentController.Select(oMonTableauCUDDUP)
 dim document   as object
 document   = ThisComponent.CurrentController.Frame
 Dim CurseurVisible,  CurseurVisible2 As Object
 CurseurVisible=oMonDocumentTexteCUDDUP.currentcontroller.ViewCursor
 PositionDuCurseurDansLeTableauCUDDUP= CurseurVisible.Cell.CellName
 If CurseurVisible.Cell.CellName = PositionDeLaCopieDansLeTableauCUDDUP 
Then
  ' CurseurVisible.gotoRange(oMonTableauCUDDUP.getAnchor(),False) 'ne 
sert à rien

  Else   'il faut décaler le curseur
DeplacementHorizontalCUDDUP=Val(Right(PositionDeLaCopieDansLeTableauCUDDUP,1)) 
- Val(Right(PositionDuCurseurDansLeTableauCUDDUP,1))

DeplacementVerticalCUDDUP=Asc(left(PositionDeLaCopieDansLeTableauCUDDUP,1))-Asc(left(PositionDuCurseurDansLeTableauCUDDUP,1))
   CurseurVisible.goDown(DeplacementVerticalCUDDUP,False)
   CurseurVisible.goRight(DeplacementHorizontalCUDDUP,False)
  End IF
  oDispatchHelperCUDDUP = createUnoService( 
"com.sun.star.frame.DispatchHelper" )

  dim args6(0) as new com.sun.star.beans.PropertyValue
  args6(0).Name = "SelectedFormat"
  args6(0).Value = 3 '3 ' Copie au paragraphe '2  pas de copie '1 pas 
de copie '3
  oDispatchHelperCUDDUP.executeDispatch( document, 
".uno:ClipboardFormatItems", "", 0, args6()) 'copie dans le tableau
 '   oDispatchHelper.executeDispatch( oMonDocumentTexteCUDDUP, 
".uno:Paste", "", 0,Array() )
   ' oDispatchHelperCUDDUP.executeDispatch( document, ".uno:Paste", "", 
0,args5() ) 'copie à la page

dim i as integer
dim o as object
' o= ThisComponent.Select() 'document.getPropertySetInfo.Properties ' 
ici THISCOMPONENT est l'objet à scanner

' Xray o
'for i = lbound(o) to ubound(o)
'print o(i).name
'next i

' document   = ThisComponent.CurrentController.Frame
' Print ("recherche de l'ancrage")
' Xray document
' document.SetAnchorToChar
 '  OuvrirleFichier(NomDuFichierCalcCUDDUP,"", 
"CopierUnDiagrammeDansUnTableauDUnePage Ligne 657")

 '  On Error GoTo 0
  Exit Sub

 errmodifCUDDUP:
  print ("Dans le Programme ModifierUnDiagramme L'instruction n'existe 
pas erreur non

Re: [fr-users] Macro dans writer

2017-12-17 Thread Jean-Michel PIERRE
Bonjour. 
Si tu affiches l'historique de la page du Wiki, tu verras que le texte de la 
Macro date un peu.
Rien d'étonnant à ce qu'il y aie aujourd'hui une erreur d'objet. 
Les codes des Macros les plus à jour sont ceux du forum. 

Jean-Michel PIERRE 
Tél : 06.19.55.73.22

> Le 17 déc. 2017 à 14:45, Bernard Siaud alias Troumad  a 
> écrit :
> 
> 
> Bonjour
> 
> En partant de la doc de LibreOffice ( 
> https://wiki.documentfoundation.org/Documentation/BASIC_Guide/fr ) , on est 
> renvoyé sur la doc de AOO.
> J'arrive ici : 
> https://wiki.openoffice.org/wiki/FR/Documentation/BASIC_Guide/Structure_of_Text_Documents
> Et je teste le premier programme :
> 
>> REM  *  BASIC  *
>> 
>> 
>> sub Main
>> 
>> Dim Doc As Object
>> Dim Enum As Object
>> Dim TextElement As Object
>> 
>> ' Create document object
>> Doc = StarDesktop.CurrentComponent
>> ' Create enumeration object
>> Enum = Doc.Text.createEnumeration
>> ' loop over all text elements
>> 
>> While Enum.hasMoreElements
>>   TextElement = Enum.nextElement
>> 
>>   If TextElement.supportsService("com.sun.star.text.TextTable") Then
>> MsgBox "The current block contains a table."
>>   End If
>> 
>>   If TextElement.supportsService("com.sun.star.text.Paragraph") Then
>> MsgBox "The current block contains a paragraph."
>>   End If
>> 
>> Wend
>> 
>> 
>> end sub
> 
> Et ça ne marche pas :
>> Erreur d'exécution BASIC.
>> Propriété ou méthode non trouvée : Text.
> Doc.Text est inconnu :(
> -- 
> Amicalement vOOotre  Troumad Alias Bernard SIAUD
> mon site : http://troumad.org : AD&D maths WEB...
> Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ 
> N'envoyez que des documents avec des formats ouverts, comme 
> http://fr.libreoffice.org
> 
> -- 
> Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
> Les archives de la liste sont disponibles à 
> https://listarchives.libreoffice.org/fr/users/
> Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
> pourront pas être supprimés
> 


-- 
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés