Question

On dirait que ce serait une chose simple, vraiment (et il peut être), mais je suis en train de prendre les données de chaîne d'une colonne, puis à travers une colonne calculée, remplacer tous les espaces avec% 20 de sorte que le code HTML lien dans le flux de travail produit email brisera pas vraiment au loin le premier espace.

Par exemple, nous avons cela dans notre colonne source:

file: /// Z: / data / Ceci est notre report.rpt

Et voudrait finir avec cela dans la colonne calculée:

file: /// Z: /data/This%20is%20our%20report.rpt

déjà utilisé REPLACE, et composé d'un super horrible imbriquée REMPLACER / version SEARCH, mais le problème est que vous devez nid pour chaque espace potentiel, et si vous ne savez pas combien avant, il n » le travail t, ou va manquer quelques-uns.

L'un d'entre vous tombez sur ce scénario et comment avez-vous gérer?

Merci d'avance!

Était-ce utile?

La solution

Pour autant que je sais qu'il n'y a pas de solution générique en utilisant la syntaxe colonne calculée. La solution standard de cette situation utilise un événement ItemAdded (/ ItemUpdated) et l'initialisation de la valeur du champ à partir du code.

Autres conseils

  

de telle sorte que le lien HTML dans le flux de travail produit email brisera pas vraiment au loin le premier espace.

Le navigateur seulement si vous avez pas ci-joint votre lien entre guillemets

Si vous enroulez le lien entre guillemets, Finalité pas coupé au premier espace

Dans une formule SharePoint serait:

="""file:///Z:/data/This is our report.rpt"""

becuase deux citations sont la notation d'échappement SP pour produire une citation

Vous pouvez utiliser cette formule (garniture de départ pour 1, dans mon cas était 4):

=IF(ISBLANK([EUR Amount]),"",(TRIM(MID([EUR Amount],4,2))&TRIM(MID([EUR Amount],6,2))&TRIM(MID([EUR Amount],8,2))&TRIM(MID([EUR Amount],10,2))&TRIM(MID([EUR Amount],12,2))&TRIM(MID([EUR Amount],14,2)))*1)

Je suis en mesure de résoudre ce problème pour ma situation à l'aide d'une série de colonnes calculées.

Dans la première colonne calculée (C1) entré dans une formule I pour éliminer le premier espace, comme ceci:

=IF(ISNUMBER(FIND(" ",[Title])),REPLACE([Title],FIND(" ",[Title]),1,"%20"),[Title])

Dans la deuxième colonne calculée (C2) je:

=IF(ISNUMBER(FIND(" ",[C1])),REPLACE([C1],FIND(" ",[C1]),1,"%20"),[C1]).

Dans mon cas, je voulais encoder jusqu'à quatre places, donc je 3 colonnes calculées (C1, C2, C3) de la même façon et a obtenu le résultat souhaité.

Ce n'est pas aussi efficace que l'aide d'une colonne calculée unique, mais si SUBSTITUTE ne fonctionnera pas dans votre environnement SharePoint, et vous ne pouvez pas utiliser un gestionnaire d'événements ou flux de travail, il peut offrir une alternative viable.

J'ai effectivement utilisé une formule légèrement différente, mais il était sur une machine de travail à laquelle je n'ai pas accès au moment, donc je viens attrapé cette formule d'un S.O. similaire question. Toute formule qui remplacera la première occurrence d'un espace avec « % 20 » fonctionnera, l'astuce consiste à a) assurez-vous que la formule renvoie la chaîne d'origine inchangée si elle ne dispose pas d'autres espaces, et b) test, test , test. Créer une vue de votre liste qui a le champ que vous essayez de coder, plus les champs calculés, et voyez si vous obtenez les résultats que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top