FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
- 8.15.1. Les fichiers texte (8)
- Comment créer un mail par macro ?
- Comment envoyer un mail en pilotant Outlook ?
- Comment ouvrir une autre application ?
- Comment piloter l'application Internet Explorer et son contenu ?
- Comment remplir les champs d'une page html puis déclencher un bouton ?
- Comment récupérer la source et le contenu texte d'une page html ?
- Comment récupérer des informations sur l'environnement du système d'exploitation : utilisation de la fonction Environ ?
- Comment récupérer la version d'une application ?
- Comment retrouver la lettre du lecteur de CD et vérifier si le disque est prêt ?
- Comment lire un fichier wave par macro ?
Code vb : | Sélectionner tout |
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 | Sub EnvoiMail Dim Fichier1 As String , Fichier2 As String Dim oSystemMail As Object Dim oMailClient As Object Dim oMailMessage As Object Dim lgMailClientFlags As Long lgMailClientFlags = com.sun.star.system.SimpleMailClientFlags.NO_USER_INTERFACE 'Définit les pièces jointe Fichier1 = ConvertToURL( "C:\Fichier test.ods" ) Fichier2 = ConvertToURL( "C:\Documents and Settings\mimi\dossier\Rapport.odt" ) oSystemMail = createUnoService( "com.sun.star.system.SimpleSystemMail" ) oMailClient = oSystemMail.querySimpleMailClient() oMailMessage = oMailClient.createSimpleMailMessage() With oMailMessage 'Destinataire 'Nota1: 'Solution non trouvée pour définir plusieurs destinataires dans ce champ .setRecipient( "destinataire1@mail.fr" ) 'En copie conforme .setCcRecipient( Array("destinataire2@mail.fr" , "destinataire3@mail.fr") ) 'Le sujet .setSubject( "Rapport mensuel " & Date ) 'Les fichiers attachés .setAttachement( Array( Fichier1 , Fichier2 ) ) End With 'Nota2: 'Solution non trouvée pour ajouter du texte dans le corps du message. oMailClient.sendSimpleMailMessage( oMailMessage, lgMailClientFlags ) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | Sub CreerMail_SystemShellExecute() Dim oShell As Object oShell = createUnoService("com.sun.star.system.SystemShellExecute") '%0D%0A permet d'insérer un saut de ligne dans le corps du message. oShell.Execute("mailto:destinataire@mail.fr" & _ "?subject=test envoi mail" & _ "&Body=Bonjour,%0D%0AJe vous confirme notre rendez-vous de la semaine prochaine.%0D%0A%0D%0ACordialement" & _ "%0D%0A" & Environ("username") , "", 0) End Sub |
Code vb : | Sélectionner tout |
mailto:dest1@mail.fr;dest2@mail.fr
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub EnvoiMail_Outlook( ) Dim oObj As Object , AppOutlook As Object Dim oMail As Object oObj = createUnoService("com.sun.star.bridge.OleObjectFactory") AppOutlook = oObj.createInstance("Outlook.Application") oMail = AppOutlook.CreateItem(0) With oMail .To = "destinataire@mail.fr" .Subject = "Rapport mensuel " & Date .Body = "Bonjour," & Chr(10) & _ "Je vous souhaite une bonne lecture." & Chr(10) & Chr(10) & _ "Cordialement" & Chr(10) & _ Environ("username") & Chr(10) & Chr(10) .Attachments.Add("C:\Fichier test.ods") .send End With End Sub |
Ces deux exemples montrent comment lancer des application externes.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 | Sub AfficheCalculatriceWindows Dim RetVal As Long 'RetVal = Shell("C:\windows\System32\calc.exe" , 1 ) RetVal = Shell("calc.exe" , 1 ) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 | Sub OuvrirAutreApplication Dim RetVal As Long Dim Cible As String Cible = "C:\Program Files\Paint Shop Pro\Psp.exe" RetVal = Shell( Cible , 1 ) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | Sub OuvrirFichier() Dim oShell As Object Dim Fichier As String Fichier ="C:\Documents and Settings\mimi\dossier\fourmiz.JPG" 'Fichier ="C:\windows\system32\BuzzingBee.wav" oShell = createUnoService("com.sun.star.system.SystemShellExecute") oShell.execute(ConvertToUrl( Fichier ), "", 0) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 | Sub OuvrirPageHtml_FF Dim RetVal As Long '10 : Affichage en plein écran RetVal = Shell("C:\Program Files\Mozilla Firefox\FireFox.exe" _ , 10 , "http://www.developpez.com") End Sub |
Cet exemple permet d'ouvrir une page html dans Internet Explorer puis d'en extraire les métas informations :
Code vb : | Sélectionner tout |
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 | Sub metaInformations_PageHtml_IE( ) Dim oObj As Object Dim IE As Object oObj = createUnoService( "com.sun.star.bridge.OleObjectFactory") IE = oObj.createInstance("InternetExplorer.Application.1") 'Indiquez False pour masquer la fenêtre Internet Explorer pendant l'opération IE.Visible = True IE.Navigate("http://www.developpez.com/") 'Attend la fin du chargement de la page avant de poursuivre la procédure Do Until IE.ReadyState = 4 Wait(50) Loop MaPageHtml = IE.Document 'Récupère le titre de la page MsgBox MaPageHtml.Title 'Boucle sur les méta données de la page For i = 0 To MaPageHtml.all.tags("meta").Length - 1 htmlRef = MaPageHtml.all.tags("meta").Item(i) MsgBox htmlRef.content Next i 'Referme la fenêtre Internet Explorer IE.Quit End Sub |
Code vb : | Sélectionner tout |
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 | Sub RemplissageChamps_PageHtml_IE( ) Dim oObj As Object Dim IE As Object Dim MaPageHtml As Object , Helem As Object oObj = createUnoService( "com.sun.star.bridge.OleObjectFactory") IE = oObj.createInstance("InternetExplorer.Application.1") 'Indiquez False pour masquer la fenêtre Internet Explorer pendant l'opération IE.Visible = True IE.Navigate("http://www.MonSiteWeb.fr/") 'Attend la fin du chargement de la page avant de poursuivre la procédure Do Until IE.ReadyState = 4 Wait(100) Loop MaPageHtml = IE.Document 'A adapter en fonction du type d'objets à manipuler dans la page html Helem = MaPageHtml.getElementsByTagName("input") '--- Adaptez le nom des objets contenus dans la page html --- 'remplissage champs Helem.Item("Profil").InnerText = "NomUtilisateur" Helem.Item("PassWord").InnerText = "MotDePasse" 'Déclenchement bouton de connection Helem.Item("NomBouton").Click '------------------------------------------------------------ End Sub |
Si Internet Explorer est installé sur le poste, vous pouvez utiliser cette procédure qui récupère la source, ainsi que le contenu texte de la page html.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub Informations_PageHtml_IE( ) Dim oObj As Object Dim IE As Object oObj = createUnoService( "com.sun.star.bridge.OleObjectFactory") IE = oObj.createInstance("InternetExplorer.Application.1") IE.Visible = True IE.Navigate("http://www.developpez.com") 'Attend la fin du chargement Do Until IE.ReadyState = 4 Wait(50) Loop MaPageHtml = IE.Document MsgBox MaPageHtml.Body.innerHTML MsgBox MaPageHtml.Body.innerText IE.Quit End Sub |
Cette autre possibilité ne nécessite pas Internet Explorer. La source de la page html s'affiche dans un classeur :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub RecupererSourcePageHtml 'Source: linuxtalk Dim oDoc As Object Dim Cible As String Dim Args(1) As New com.sun.star.beans.PropertyValue Cible = "http://www.developpez.com" Args(0).Name = "FilterOptions" Args(0).Value = "44" Args(1).Name = "FilterName" Args(1).Value = "Text - txt - csv (StarCalc)" oDoc = starDeskTop.loadComponentFromURL( Cible , "_blank" , 0 , Args ) End Sub |
Code vb : | Sélectionner tout |
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 | Sub Infos_Environnement MsgBox Environ("USERNAME") MsgBox Environ("PROCESSOR_IDENTIFIER") '--- Liste des variables d'environnement --- 'ALLUSERSPROFILE 'APPDATA 'CLIENTNAME 'CommonProgramFiles 'COMPUTERNAME 'ComSpec 'FP_NO_HOST_CHECK 'HOMEDRIVE 'HOMEPATH 'LOGONSERVER 'NUMBER_OF_PROCESSORS 'OS 'Path 'PATHEXT 'PROCESSOR_ARCHITECTURE 'PROCESSOR_IDENTIFIER 'PROCESSOR_LEVEL 'PROCESSOR_REVISION 'ProgramFiles 'SESSIONNAME 'SystemDrive 'SystemRoot 'TEMP 'TMP 'USERDOMAIN 'USERNAME 'USERPROFILE 'windir 'Nota: 'Les variables d'environnement dépendent du système d'exploitation utilisé. End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Sub versionApplication() Dim Fso As Object Dim Appli As String Appli = "C:\Program Files\Mozilla Firefox\firefox.exe" oObj = createUnoService("com.sun.star.bridge.OleObjectFactory") Fso = oObj.createInstance("Scripting.FileSystemObject") If Fso.FileExists(Appli) Then MsgBox Fso.GetBaseName(Appli) & " " & Fso.getFileVersion( Appli ) Else MsgBox "le chemin spécifié n'existe pas:" & Chr(10) & "'" & Appli & "'" End If End Sub |
La macro teste l'existence des disques sur le PC (lettres C à J), renvoie un message si un lecteur de CD est trouvé et indique si le lecteur est prêt pour utilisation.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Sub LettreLecteurCD() Dim oObj As Object Dim Fso As Object Dim Drv As Integer oObj = createUnoService("com.sun.star.bridge.OleObjectFactory") Fso = oObj.createInstance("Scripting.FileSystemObject") 'Teste les lecteurs C à J For Drv = 67 To 74 If FSO.DriveExists( CHR(Drv) ) Then If FSO.Drives.Item( CHR(Drv) ).DriveType = 4 Then MsgBox "Lecteur: " & CHR(Drv) If FSO.Drives.Item( CHR(Drv) ).IsReady Then MsgBox "Disque pret." Else MsgBox "Disque pas pret." End If End If End If Next End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 | Declare Function sndPlaySound32 Lib "winmm.dll" Alias _ "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Sub LireFichier_Wav sndPlaySound32 "C:\windows\system32\BuzzingBee.wav", 1 End Sub |
Et pour arrêter la lecture en cours :
Code vb : | Sélectionner tout |
1 2 3 | Sub ArreterLecture_Wav sndPlaySound32 0 , 0 End Sub |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.