سؤال

يبدو أنه سيكون أمرًا بسيطًا حقًا (وربما يكون كذلك)، ولكني أحاول أخذ بيانات السلسلة الخاصة بعمود ثم من خلال عمود محسوب، استبدل جميع المسافات بـ %20 حتى يتمكن رابط HTML الموجود في لن ينقطع البريد الإلكتروني الناتج عن سير العمل في المساحة الأولى.

على سبيل المثال، لدينا هذا في العمود المصدر لدينا:

file:///Z:/data/هذا هو تقريرنا.rpt

وأود أن أنهي هذا في العمود المحسوب:

الملف:///Z:/data/This%20is%20our%20report.rpt

لقد استخدمت بالفعل REPLACE، وقمت بإنشاء إصدار REPLACE/SEARCH متداخل للغاية، ولكن المشكلة تكمن في أنه يتعين عليك التداخل في كل مساحة محتملة، وإذا كنت لا تعرف عددها مقدمًا، فلن ينجح الأمر، أو سوف تفوت بعض.

هل واجه أحدكم هذا السيناريو وكيف تعاملت معه؟

شكرا لك مقدما!

هل كانت مفيدة؟

المحلول

بقدر ما أعرف لا يوجد حل عام باستخدام بناء جملة العمود المحسوب.الحل القياسي لهذا الموقف هو استخدام حدث ItemAdded (/ItemUpdated) وتهيئة قيمة الحقل من التعليمات البرمجية.

نصائح أخرى

بحيث لا ينقطع رابط HTML الموجود في البريد الإلكتروني الناتج عن سير العمل في المساحة الأولى.

المتصفح يفعل هذا فقط إذا كان لديك لا أرفقت الرابط الخاص بك بين علامتي اقتباس

إذا قمت بلف الرابط بين علامتي اقتباس، فسيتم ذلك لا قطع في الفضاء الأول

في صيغة SharePoint سيكون:

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

نظرًا لأن علامتي الاقتباس هما تدوين الهروب SP لإخراج عرض أسعار

يمكنك استخدام هذه الصيغة (بدء القطع بـ 1، في حالتي كان 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)

لقد تمكنت من حل هذه المشكلة وفقًا لظروفي باستخدام سلسلة من الأعمدة المحسوبة.

في العمود المحسوب الأول (C1) أدخلت صيغة لإزالة المسافة الأولى، شيء من هذا القبيل:

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

في العمود المحسوب الثاني (C2) استخدمت:

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

في حالتي، كنت أرغب في تشفير ما يصل إلى أربع مسافات، لذلك استخدمت 3 أعمدة محسوبة (C1، C2، C3) بنفس الطريقة وحصلت على النتيجة المرجوة.

هذا ليس بنفس كفاءة استخدام عمود محسوب واحد، ولكن إذا SUBSTITUTE لن يعمل في بيئة SharePoint الخاصة بك، ولا يمكنك استخدام معالج الأحداث أو سير العمل، فقد يوفر بديلاً عمليًا.

لقد استخدمت بالفعل صيغة مختلفة قليلاً، ولكنها كانت على جهاز عمل لا يمكنني الوصول إليه في الوقت الحالي، لذلك حصلت للتو على هذه الصيغة من S.O.سؤال.أي صيغة تستبدل التواجد الأول للمسافة بـ "%20" ستعمل، والخدعة هي أ) التأكد من أن الصيغة تُرجع السلسلة الأصلية دون تغيير إذا لم تكن تحتوي على مسافات أكثر، و ب) اختبار، اختبار ، امتحان.قم بإنشاء طريقة عرض لقائمتك التي تحتوي على الحقل الذي تحاول تشفيره، بالإضافة إلى الحقول المحسوبة، ومعرفة ما إذا كنت تحصل على النتائج التي تريدها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top