اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

الاخوة الافاضل اكرمكم الله

لدي مشكلة صغيرة تتلخص في لدي برنامج محاسبة لايقوم بالتصدير للاكسل مباشرة واحتاج عملية التصدير الى الاكسل لضرورة اعداد بعض التقارير الاضافية والتحليلات ولكنه يقوم بالتصدير الى ملفات نصية txt

وحاولت ان اجد طريقة للتصدير من التكست للاكسل باستخدام text to columns لم اجد محدد ينفع لاستخدام delimited وايضا المسافات غير متساوية لاستخدام fixed width

وعند استخدام المسافة يتم تقسيم العبارات وايضا تظهر بعض الكلمات العربية مقلوبة

فهل من حل لذلك مرفق ملف تكست واخر اكسل تم تصديره

وهل يمكن اجراء تقسيم بس بمسافتين بدل من مشافة واحدة مثلا

او

سؤال اخر هل يمكن عمل كد يمكن للاكسل معرفة اذا كان النص في الخلية بحروف عربية ام انجليزية

واذا كان بحروف عربية يجري عليه دالة mirror لقلب النص واذا كان بحروف اجنبية يتركه

مش عارف هل من حل لهذه المعضلة ؟ اعتقد دائما هناك حل باذن الله

test.rar

قام بنشر

السلام عليكم

سأحل لك الجزء الأول من سؤالك

حاولت ان اجد طريقة للتصدير من التكست للاكسل باستخدام text to columns لم اجد محدد ينفع لاستخدام delimited وايضا المسافات غير متساوية لاستخدام fixed width

وعند استخدام المسافة يتم تقسيم العبارات وايضا تظهر بعض الكلمات العربية مقلوبة

فهل من حل لذلك مرفق ملف تكست واخر اكسل تم تصديره

وهل يمكن اجراء تقسيم بس بمسافتين بدل من مشافة واحدة مثلا

تستطيع عمل ذلك علي خطوتين

أولا إستبدال كل ماهو مسافتين إلي رمز غريب غير مستخدم في الورقة وليكن #

ثانيا إستبدال كل ## بــ # واحدة

وتكرار ذلك إلي ألا يكون بالورقة ## جنب بعض

ثم إستخدم delimited علي الرمز #

أنظر الفيديو المرفق

Text2Column.rar

قام بنشر

السلام عليكم ورحمة الله وبركاته

اخي الكريم

اضافة الى حل اخي طارق

جرب الملف المرفق , وهو بطريقة احضار بيانات خارجية (الاتصال بملف نصي) ومعالجة البيانات في معالج النصوص بطريقة (عرض ثابت) وليس (محدد) بالاضافة الى معادلة تصحيح النص المعكوس عن طريق ازالة المسافات .

تحياتي

استيراد ملف نصي.rar

قام بنشر

اولا وقبل اي شي تحية واجبة وشكر بالغ لاخوي الخالدي وطارق جزاكما الله خيرا للرد والبحث عن الحلول للمشكلات التي تقابلنا

ثانيا

جاري تجربة ا/ طارق واشكره كثيرا على الحل

اخي الكريم الخالدي هل لي ان اطمع في تفسير استخدام الدالة code مع الرقم 63 تحديدا

ومن اين جاءت المسافات الاضافية التي تضاف بين الاحرف العربي والتي تقوم انت بحذفها

واسمح لي ان ابدي اعجابي واندهاشي فعند التحرك بالسهم على الكلمة في سطر المعادلة اجدها حقا مقلوبة وليس بها مسافات اضافية

فهلا هذا صحيح هل اطمع في توضيح اكثر من مجرد الحل واشكرك كثيرا

وتحياتي وشكري الكثير لاخي أ/ طارق بارك الله فيكما وزادكما علما ونفعكما بما تعلما وانتهزها فرصة بالدعاء لكل القائمين ويقتطعون من وقتهم وجهدهم لهذا المنتدى الكبير واتمنى ان يعاود الاخوة الافاضل الذين تغيبوا عنه او لم يعودوا كسابق العهد بهم متواجدين دوما الى مواقعهم

قام بنشر (معدل)

السلام عليكم

سأحل لك الجزء الأول من سؤالك

حاولت ان اجد طريقة للتصدير من التكست للاكسل باستخدام text to columns لم اجد محدد ينفع لاستخدام delimited وايضا المسافات غير متساوية لاستخدام fixed width

وعند استخدام المسافة يتم تقسيم العبارات وايضا تظهر بعض الكلمات العربية مقلوبة

فهل من حل لذلك مرفق ملف تكست واخر اكسل تم تصديره

وهل يمكن اجراء تقسيم بس بمسافتين بدل من مشافة واحدة مثلا

تستطيع عمل ذلك علي خطوتين

أولا إستبدال كل ماهو مسافتين إلي رمز غريب غير مستخدم في الورقة وليكن #

ثانيا إستبدال كل ## بــ # واحدة

وتكرار ذلك إلي ألا يكون بالورقة ## جنب بعض

ثم إستخدم delimited علي الرمز #

أنظر الفيديو المرفق

اشكرك كثيرا استاذنا بارك الله فيك

هل يمكن عمل تبديل في الخطوات بحيث يمكن عمل لصق للبيانات في الاكسل الاول لامكانية عمل ماكرو يقوم هو بعملية الاستبدال الى ان تظهر سالة تفيد بعدم وجود ## عندها يقوم الماكرو بعمل text to columns y delimited

تم تعديل بواسطه gamalin
قام بنشر

السلام عليكم ورحمة الله وبركاته

اخي الكريم

جرب استخدام الدالة code مع النصوص المستوردة من الملف النصي ستجد ان الاكود الرقمية للاحرف الانجليزية كما هي مستخدمة في الاكسل , اما الحروف العربية ستجدها بالكامل رقم(63) فقط وليس كما هي مستخدمة في الاكسل .

وهذا سبب للنصوص باللغة العربية عيوب:

ـ انها معكوس وعند ازالة المسافات منها تظهر بشكل طبيعي لكنها في الحقيقة لا تزال معكوسة.

ـ صعوبة التعامل مع النصوص العربية بشكل طبيعي مثلا لايمكن البحث فيها الا باستخدام نفس احرف تلك النصوص.

لحل هذا الاشكال اعتقد انك تحتاج الى كود يقوم:

ـ عكس النصوص العربية

ـ استبدال الاحرف الى احرف طبيعية (سوف تجد نوع الاحرف العربية المستوردة من الملف النصي في –الاكسل- ادراج رمز)

هذا حسب علمي ويمكن ان تجد في المنتدى خبراء يوضح هذا الموضوع.

تحياتي...

  • 4 weeks later...
قام بنشر (معدل)

السلام عليكم

سأحل لك الجزء الأول من سؤالك

حاولت ان اجد طريقة للتصدير من التكست للاكسل باستخدام text to columns لم اجد محدد ينفع لاستخدام delimited وايضا المسافات غير متساوية لاستخدام fixed width

وعند استخدام المسافة يتم تقسيم العبارات وايضا تظهر بعض الكلمات العربية مقلوبة

فهل من حل لذلك مرفق ملف تكست واخر اكسل تم تصديره

وهل يمكن اجراء تقسيم بس بمسافتين بدل من مشافة واحدة مثلا

تستطيع عمل ذلك علي خطوتين

أولا إستبدال كل ماهو مسافتين إلي رمز غريب غير مستخدم في الورقة وليكن #

ثانيا إستبدال كل ## بــ # واحدة

وتكرار ذلك إلي ألا يكون بالورقة ## جنب بعض

ثم إستخدم delimited علي الرمز #

أنظر الفيديو المرفق

اخي الكريم طارق جزاك الله خيرا

قمت بتطبيق الفكرة الخاصة بك ولكن من داخل الاكسل بمعنى اخذ كوبي من التكست وباست في الاكسل وتطبيق عملية الاستبدال وذلك لاتمكن من عمل ماكرو لهذه العملية والحمد لله نجحت

لكن

1-- هل يمكن عد ## الموجودة او عد # الناتجة عن الاستبدال اول مرة اي بعد استبدال المسافات بالرمز لمعرفة عدد مرات التكرارلعمل حلقة بالكود

يتم تكرار عملية الاستبدال بناء على ضغط مني على زر استبدال فهل يمكن عمل حلقة لذلك ؟

وتتكررالى ان لا يجد ## فيعطي الاكسل رسالة ويتوقف فهل يمكن وضع امر بالكود يفيد انه اذا بحثت عن شي لاستبداله ولم تجده تخرج من الكود وتتوقف الحلقة جزاك الله خيرا

تم تعديل بواسطه gamalin
قام بنشر (معدل)

السلام عليكم

أخي الحبيب

ليس مهما أن تتعب نفسك لمعرفة ذلك

فقط يمكنك طلب تكرار عملية الإستبدال في الكود 10 مرات مثلا فلن يكون هناك أكثر من ذلك لو دائما الملف الصيغة التي أرسلتها

لاحظ أن 10 تعني أنها ستغطي حتي إحتمال أن يكون هناك 512 مسافة فاضية في مكان واحد

1 1

2 2

3 4

4 8

5 16

6 32

7 64

8 128

9 256

10 512

ولن يعطي الماكرو رسائل خطا إذا لم يجد مايستبدله

فقط سيقوم بالبحث عنها ولن يجد فلن يغير

الكود


Sub Macro1()


	Selection.Replace What:=" ", Replacement:="#", LookAt:=xlPart

	For i = 1 To 10

 	Selection.Replace What:="##", Replacement:="#", LookAt:=xlPart

	Next i

End Sub

تم تعديل بواسطه TareQ M
قام بنشر

السلام عليكم

أخي الحبيب

ليس مهما أن تتعب نفسك لمعرفة ذلك

فقط يمكنك طلب تكرار عملية الإستبدال في الكود 10 مرات مثلا فلن يكون هناك أكثر من ذلك لو دائما الملف الصيغة التي أرسلتها

لاحظ أن 10 تعني أنها ستغطي حتي إحتمال أن يكون هناك 512 مسافة فاضية في مكان واحد

1 1

2 2

3 4

4 8

5 16

6 32

7 64

8 128

9 256

10 512

ولن يعطي الماكرو رسائل خطا إذا لم يجد مايستبدله

فقط سيقوم بالبحث عنها ولن يجد فلن يغير

الكود


Sub Macro1()


	Selection.Replace What:=" ", Replacement:="#", LookAt:=xlPart

	For i = 1 To 10

 	Selection.Replace What:="##", Replacement:="#", LookAt:=xlPart

	Next i

End Sub

اشكرك اخي الكريم يااااااااااااااااااه قد ايه العملية سهلة وبسيطة على من علمه الله زادك الله علما

تحياتي

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information