ceci est mon 1er post, en espérant ne pas enfreindre les règles en vigueur ...
Je bloque depuis plusieurs jours sur une étape de mon projet, un avis d'expert me semble judicieux.
Mon projet : récupérer les données des agendas Zimbra des 12 membres de l'équipe (agendas autorisés en partage au préalable), puis en faire un planning hebdomadaire sous Calc. Car le partage d'agenda sous Zimbra est illisible dés qu'il y a plus de 2 personnes (superposition des rdv à l'affichage).
Mon problème : je n'arrive pas à accéder par macro aux fichiers Zimbra "Calendar.ics" pourtant autorisé en partage. En "manuel", aucun souci pour y accéder en collant son adresse URL dans le navigateur Firefox puis l'enregistrer.
Les 2 solutions que j'ai essayées,
1) Charger le flux via [CreateUnoService("com.sun.star.ucb.SimpleFileAccess")] et [openFileRead(URL)]
=> oSFA.exists renvoie False depuis mon PC pro loguer au serveur, mais renvoie True depuis mon PC perso extérieur au réseau entreprise, bizarre ...
Le Code :
Code : Tout sélectionner
Sub maMacro
Dim oSFA 'SimpleFileAccess service
Dim oTextStream 'TextStream service
Dim oStream 'Stream returned from SimpleFileAccess
Dim sInput 'The string that is read
Dim sFileName = "https://webmail.monentreprise.fr/home/prenom.nom@monentreprise.fr/Calendar.ics" 'adresse anonymisée pour ce forum
oSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
If oSFA.exists(sFilename) Then
oTextStream = CreateUnoService("com.sun.star.io.TextInputStream")
oStream = oSFA.openFileRead(sFileName)
oTextStream.setInputStream(oStream)
'Juste pour voir le rendu, je changerai cette partie du code ultérieurement pour traiter le contenu
For i = 1 To 1000
sInput = otextStream.readLine()
ThisComponent.Sheets.getByIndex(0).getCellByPosition(0,i).string = sInput
Next
oTextStream.closeInput
Else
msgbox("Le domaine n'existe pas ...")
Exit Sub
End If
End Sub=> ouvre un nouvel onglet de navigateur et affiche une fenêtre d'invite "Ouvrir avec" / "Enregistrer le fichier", mais je ne sais pas aller au-delà via macro
Le Code :
Code : Tout sélectionner
Sub maMacro
dim sv as object
dim adresse as string
sv = createUnoService("com.sun.star.system.SystemShellExecute")
adresse = "https://webmail.monentreprise.fr/home/prenom.nom@monentreprise.fr/Calendar.ics"
sv.execute(adresse, "", 0)
End SubD'avance merci de votre aide.


