Modifier les liens dans un fichier excel

Plus d'informations
il y a 7 mois 3 semaines #29304 par darkengib
Bonjour,

Nous avons un projet de migration de données vers un nouveau serveur.
Dans ce projet nous souhaitons modifier les liens renseignés dans les fichiers Excel.

Dans ma recherche sur internet j'ai trouvé des scripts, qui recherchent cellule par cellule et modifient les liens. Le temps de traitement est trop long.

J'ai  aussi trouvé la fonction Linksources().

Cette fonction  m'affiche les liens connus dans un fichier Excel.
J'arrive à les  modifier, mais je ne sais pas comment  sauvegarder les  modifications.

Exemple :

[code:1]$Excel = New-Objet -ComObject Excel.Application
$workbook = $excel. Workbooks. Open('C:\Users\C6864614\Documents\batch\test2 Xlsx') [/code:1]

je tape la commande suivante :

[code:1]C:\Users\C6864614>  $workbook.LinkSources() [/code:1]

résultat :

[code:1]C:\Users\C6864614\Documents\batch\@liste_shareh.xlsx
C:\Users\C6864614\Documents\batch\@liste_shareh3.xlsx[/code:1]

Il m'affiche bien les liens de mon fichier Excel et quand je lance la modification.

[code:1]C:\Users\C6864614>$workbook.LinkSources().replace(\"C:\Users\C6864614\Documents\batch\\",\"C:\Users\CfrC6864614\Documents\batch\\"«»)
[/code:1]
résultat :

[code:1]C:\Users\cfrC6864614\Documents\batch\@liste_shareh.xlsx
C:\Users\cfrC6864614\Documents\batch\@liste_shareh3.xlsx[/code:1]

Il modifie bien les  chemins de mes liens, je ne sais pas comment enregistrer les modifications dans mon fichier Excel.

Je relance la commande \"$workbook.LinkSources()\", il m'affiche toujours les anciens liens.

Si une personne peut m'aiguiller, je lui serais vraiment reconnaissant.

Merci par avance pour votre aide.

Message édité par: darkengib, à: 3/10/19 12:41<br><br>Message édité par: darkengib, à: 3/10/19 14:37

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 mois 3 semaines #29305 par Arnaud
Bonjour Darkengib,

Pourrais-tu dans un 1er temps mettre des balises \&quot;code\&quot; autour de chaque morceau de script STP ?
Ca aiderait à la lisibilité.

Sinon, bien qu'il soit possible de manipuler Excel, il est autrement plus facile de manipuler des fichiers CSV. Ne serais-ce pas possible de récupérer ton fichier en CSV plutôt qu'au format Excel ?

Arnaud

Créateur du forum de la communauté PowerShell Francophone

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 mois 3 semaines #29306 par darkengib
Bonjour,
Je vous envois mon fichier exemple xls,je le convertit en format csv, je perd mes liaisons.
Le contenue de ce fichier c'est dans une des les cellules exemple dans la cellule A1.

J'ai la valeur suivantes :

='C:\Users\C6864614\Documents\batch\[@liste_shareh.xlsx]liste_share'!$C$192


Je souhaites modifier le chemin :

C:\Users\C6864614\Documents\batch\


Par :

C:\Users\CFRC6864614\Documents\batch\

La pièce jointe test2.zip est absente ou indisponible

<br><br>Message édité par: darkengib, à: 3/10/19 16:04
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.172 secondes
Propulsé par Kunena