[Résolu][Calc] Utilisateurs fichier partagé
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
[Résolu][Calc] Utilisateurs fichier partagé
Bonjour le Forum,
Peut-on savoir et afficher dans des cellules les différents utilisateurs connectés à une feuille de calcul partagée.
Une fonction ou à l'aide d'une macro élaborée.
Merci d'avance.
Roby
Peut-on savoir et afficher dans des cellules les différents utilisateurs connectés à une feuille de calcul partagée.
Une fonction ou à l'aide d'une macro élaborée.
Merci d'avance.
Roby
Dernière modification par Roby68 le 11 déc. 2018 22:20, modifié 1 fois.
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
- Hubert Lambert
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 09:26
Re: [Calc] Utilisateurs fichier partagé
Bonjour,
Les informations de connexions sont disponibles en clair dans le fichier "lock" créé à l'ouverture du document, et repérable à son nom : .~sharing.le nom du fichier.ods#.
La macro pour lire son contenu sera en réalité relativement simple. Un exemple :
Cordialement.
Les informations de connexions sont disponibles en clair dans le fichier "lock" créé à l'ouverture du document, et repérable à son nom : .~sharing.le nom du fichier.ods#.
La macro pour lire son contenu sera en réalité relativement simple. Un exemple :
Code : Tout sélectionner
sub main
doc = thiscomponent
destination = doc.Sheets(0).getCellByPosition(0,0)
insere_utilisateurs(doc, destination)
end sub
sub insere_utilisateurs(doc, cell)
aurl = split(doc.Location, "/")
filename = aurl(ubound(aurl))
lockfile = ".~sharing." & filename & "#"
aurl(ubound(aurl)) = lockfile
lockurl = convertToURL(join(aurl,"/"))
sfa = createUnoService("com.sun.star.ucb.SimpleFileAccess")
if not sfa.exists(lockurl) then
msgbox "Le fichier n'est pas partagé."
exit sub
end if
instream = sfa.openFileRead(lockurl)
textinput = createUnoService("com.sun.star.io.TextInputStream")
textinput.setInputStream(instream)
dim utilisateurs()
do while not textinput.isEOF
n = ubound(utilisateurs()) +1
redim preserve utilisateurs(n)
utilisateurs(n) = array(textinput.readLine())
loop
textinput.closeInput()
instream.closeInput()
plagedest = cell.Spreadsheet.getCellByPosition(cell.RangeAddress.StartColumn,_
cell.RangeAddress.StartRow,_
cell.RangeAddress.StartColumn,_
cell.RangeAddress.StartRow + ubound(utilisateurs))
plagedest.setDataArray(utilisateurs)
end sub
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Re: [Calc] Utilisateurs fichier partagé
Bonjour le Forum, Hubert Lambert
j'ai repris ton code Hubert Lambert et il affiche au lancement de "main" comme quoi les variables n'ont pas été défini.
De peur de faire des erreurs, peux-tu reprendre.
Merci d'avance.
pour "doc" c'est : dim doc as object, je pense ou peut-être il me manque une instruction au départ.
Destinataire etc...
Roby
j'ai repris ton code Hubert Lambert et il affiche au lancement de "main" comme quoi les variables n'ont pas été défini.
De peur de faire des erreurs, peux-tu reprendre.
Merci d'avance.
pour "doc" c'est : dim doc as object, je pense ou peut-être il me manque une instruction au départ.
Destinataire etc...
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
- Hubert Lambert
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 09:26
Re: [Calc] Utilisateurs fichier partagé
Aucun besoin de déclarer les variables ici, saif si tu as toi-même ajouter "option explicit". Auquel cas vire-le.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Re: [Calc] Utilisateurs fichier partagé
Bonjour le Forum, Hubert Lambert
J'ai suivi ton conseil, j'ai viré l'instruction "Option Explicit" en début de page, il me semble que cela a fonctionné une fois.
Il a mis le chemin en cellule A1.
J'ai mis le code dans un autre module, mais lorsque j'ai recommencé après avoir changé simplement la cellule de destination (T3 en feuille 2) il affiche l'erreur suivante:
à la ligne "plagedest.setDataArray(utilisateurs)
(voir capture)
Je ne comprend pas, j'ai remis ensuite comme à l'initial, mais toujours l'erreur.
Merci encore une fois.
Roby
J'ai suivi ton conseil, j'ai viré l'instruction "Option Explicit" en début de page, il me semble que cela a fonctionné une fois.
Il a mis le chemin en cellule A1.
J'ai mis le code dans un autre module, mais lorsque j'ai recommencé après avoir changé simplement la cellule de destination (T3 en feuille 2) il affiche l'erreur suivante:
à la ligne "plagedest.setDataArray(utilisateurs)
(voir capture)
Je ne comprend pas, j'ai remis ensuite comme à l'initial, mais toujours l'erreur.
Merci encore une fois.
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
- Hubert Lambert
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 09:26
Re: [Calc] Utilisateurs fichier partagé
Que contient la variable utilisateurs juste avant l'erreur ?
Pourrais-tu joindre ton fichier test ?
Pourrais-tu joindre ton fichier test ?
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Re: [Calc] Utilisateurs fichier partagé
Bonjour le Forum, Hubert Lambert
J'ai trouvé pourquoi cela ne fonctionnait pas, ma cellule A1 était protégée (les différentes feuilles du projet sont toutes protégées sauf les cellules utilisées par chacun).
J'ai toutefois changé la cellule de destination et c'est ok également.
par contre l'affichage de cette cellule indique bien les différents utlisateurs connectés comme suit avec ponctuation:
,ASUS-BUREAU-R/ASUS-Bureau-R,ASUS-Bureau-R,25.11.2018 12:52,file:///C:/Users/ASUS-Bureau-R/AppData/Roaming/OpenOffice/4;,ASUS-ROG/scott,ASUS-ROG,25.11.2018 12:54,file:///C:/Users/scott/AppData/Roaming/OpenOffice/4;
Ne peut-on pas faire apparaitre que le log?
merci
Roby
J'ai trouvé pourquoi cela ne fonctionnait pas, ma cellule A1 était protégée (les différentes feuilles du projet sont toutes protégées sauf les cellules utilisées par chacun).
J'ai toutefois changé la cellule de destination et c'est ok également.
par contre l'affichage de cette cellule indique bien les différents utlisateurs connectés comme suit avec ponctuation:
,ASUS-BUREAU-R/ASUS-Bureau-R,ASUS-Bureau-R,25.11.2018 12:52,file:///C:/Users/ASUS-Bureau-R/AppData/Roaming/OpenOffice/4;,ASUS-ROG/scott,ASUS-ROG,25.11.2018 12:54,file:///C:/Users/scott/AppData/Roaming/OpenOffice/4;
Ne peut-on pas faire apparaitre que le log?
merci
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
- Hubert Lambert
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 09:26
Re: [Calc] Utilisateurs fichier partagé
Pourrais-tu joindre un fichier sharing contenant les infos de plusieurs utilisateurs connectés ?
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Re: [Calc] Utilisateurs fichier partagé
Bonsoir le Forum, Hubert Lambert
Je ne peux pas mettre un fichier car trop lourd (+ de 800 ko) et des données sensibles y sont stockées
Je suis chez moi et je fais les tests sur deux pc pour simuler le réseau du travail avec l'aide d'un Cloud.
La ligne citée plus haut (ce que donne la macro) indique les éléments souhaites par cette même macro
Par contre je n'ai pas vu (chez moi) le fichier Lock (sharing), doit il être dans le même répertoire que le fichier lance et doit il également apparaître sur chaque pc connecte
Merci
Roby
Je ne peux pas mettre un fichier car trop lourd (+ de 800 ko) et des données sensibles y sont stockées
Je suis chez moi et je fais les tests sur deux pc pour simuler le réseau du travail avec l'aide d'un Cloud.
La ligne citée plus haut (ce que donne la macro) indique les éléments souhaites par cette même macro
Par contre je n'ai pas vu (chez moi) le fichier Lock (sharing), doit il être dans le même répertoire que le fichier lance et doit il également apparaître sur chaque pc connecte
Merci
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
- Dude
- IdOOle de la suite
- Messages : 25143
- Inscription : 03 mars 2006 08:45
- Localisation : 127.0.0.1
- Contact :
Re: [Calc] Utilisateurs fichier partagé
Ce n'est pas un partage mais un répertoire synchronisé.Roby68 a écrit :simuler le réseau du travail avec l'aide d'un Cloud.
- Hubert Lambert
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 09:26
Re: [Calc] Utilisateurs fichier partagé
Essaie cette version, légèrement modifiée (les utilisateurs sont sur une même ligne séparés par un point-virgule, ce que je n'avais pas saisi d'emblée) :
Code : Tout sélectionner
sub main
doc = thiscomponent
destination = doc.Sheets(0).getCellByPosition(0,0)
insere_utilisateurs(doc, destination)
end sub
sub insere_utilisateurs(doc, cell)
aurl = split(doc.Location, "/")
filename = aurl(ubound(aurl))
lockfile = ".~sharing." & filename & "#"
aurl(ubound(aurl)) = lockfile
lockurl = convertToURL(join(aurl,"/"))
sfa = createUnoService("com.sun.star.ucb.SimpleFileAccess")
if not sfa.exists(lockurl) then
msgbox "Le fichier n'est pas partagé."
exit sub
end if
instream = sfa.openFileRead(lockurl)
textinput = createUnoService("com.sun.star.io.TextInputStream")
textinput.setInputStream(instream)
dim utilisateurs(0)
utilisateurs(0) = array("Nom utilisateur", "Date et heure accès")
do while not textinput.isEOF
n = ubound(utilisateurs()) +1
redim preserve utilisateurs(n)
line_ = textinput.readString(array(59), True)
aline = split(line_, ",")
if aline(0) = "" then aline(0) = "???"
coord = aline(0) & " [" & aline(1) & "] sur " & aline(2)
date_ = aline(3)
utilisateurs(n) = array(coord, date_)
loop
textinput.closeInput()
instream.closeInput()
plagedest = cell.Spreadsheet.getCellRangeByPosition(cell.RangeAddress.StartColumn,_
cell.RangeAddress.StartRow,_
cell.RangeAddress.StartColumn + ubound(utilisateurs(0)),_
cell.RangeAddress.StartRow + ubound(utilisateurs))
plagedest.setDataArray(utilisateurs)
plagedest.Columns.OptimalWidth = True
end sub
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Re: [Calc] Utilisateurs fichier partagé
Bonsoir le Forum, Hubert Lambert,
Je prends ton code et j'essaierai demain au bureau.
Sinon en faisant une recherche sur le texte affiché, une correspondance peut être vérifiée ou pas, c'est ok pour moi.
Merci encore.
Bonne soirée à tous.
Roby
Je prends ton code et j'essaierai demain au bureau.
Sinon en faisant une recherche sur le texte affiché, une correspondance peut être vérifiée ou pas, c'est ok pour moi.
Merci encore.
Bonne soirée à tous.
Roby
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Win 7 Pro
LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro