بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
462 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
11
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه الزباري
-
-
أحيانا نقوم بإدخال رقم طويل جداً ولا نعلم مدى صحته ولا نتأكد من عدد خاناته مث الرقم القومي أو رقم الهوية، هنا طريقة لتنسيق خانة الإدخال وتحديد عدد الخانات المطلوب عدم تجاوزها بحيث لو تم تجاوزها تتوقف الكتابة، إليكم المثال مع الشرح
- 1
-
أتمنى أن يكون قصدك الاستعلام عن النتيجة كما في المرفق
- 1
-
ولو أردنا الكتابة في سطرين نكرر كتابة الكود التالي:
Print #1, "اسمي هو: " Print #1, "الزباري"
لتكون النتيجة كالتالي:
أما إذا أردنا الكتابة في نفس السطر (العمود التالي) فإننا نضيف فاصلة كالتالي:
Print #1, "اسمي هو: ", Print #1, "الزباري"
لتكون النتيجة كالتالي:
- 3
-
Print #1, "مرحبا.. هنا منتدى أوفيسنا"
ومن الممكن استبدال كلمة "print" ب "write" وكلهم يؤدون نفس الغرض كالتالي:
write #1, "مرحبا.. هنا منتدى أوفيسنا"
- 1
-
شكراً على تفاعلك البناء معنا يا أباحمزة ، في الحقيقة لقد احترت في الموضوع وقتلتها بحثاً ، ووجدت معظم الشكاوى على أمر الدوز ، حيث أنني جربت أمثلة جاهزة إلا أن بعضها لم يتوافق معي، وبعضها يعمل مرة واحدة فقط ولا يعمل مرة أخرى إلا بعد إعادة نشغيل الملف.
على العموم تم حل الموضوع بكود بديل، أرجو تجربة الملف وموافاتنا بالنتائج.
وتقبلوا نحياتي
- 3
-
بالفعل هناك مشكلة مع البعض، وأعتقد الأمر يرجع إلى نوع الويندوز المستخدم، لأن الكود يشمل على إحدى أوامر الدوز والذي لم يتوافق مع البعض، إلى أن نجد الحل ، تابعونا.
- 1
-
أخي العزيز أبويوسف
وأخي العزيز أبوحمزة
لعلكما بدأتما من حيث انتهينا وهذه هي المشكلة
هناك مجلد اسمه info نقلناه إلى سطح المكتب في بداية الدرس .. حاولا نقله إلى سطح المكتب وسيعمل معكما حتماً .
وتقبلوا تحياتي
-
2 ساعات مضت, إبراهيم ابوليله said:
اخى الزبارى
مشكورا على المجهود الكبير
والموضوع الجميل
بارك الله فيك
.........................................
انا نزلت الملف بس مش عارف مش شغال
بيقول ان الملف مش موجود
تقبل تحياتى
يبدو أنك لم تنقل الملف إلى سطح المكتب
الملف مرتبط بالمجلد info
جرب أن تنقل الملف إلى المكان الذي تم فيه تخزين ملف ابراهيم والمندوبين
-
نعود لأخونا ابراهيم، وكما قلنا بأن أخونا ابراهيم أراد أن يجمع الملفات في شيت واحد طالما أن المندوبين لديهم نفس النموذج.
ولعمل هذه التجميعة فلا بد أن نتبع إحدى الطريقتين:
إما أن يتم استدعاء جميع الملفات النصية من المجلد إلى الإكسيل بشكل مباشر.
أو
أن يتم تجميع الملفات النصية إلى ملف نصي جديد ، ومن ثم يتم الإستدعاء من الملف النصي الجديد إلى الإكسيل بشكل مباشر.
اعتمدت أنا على الطريقة الثانية كالتالي:
لا تنسى نقل الملف إلى مكانه الصحيح حيث يوجد المجلد info
لو لاحظت أننا لم نغير في الكود سوى هذا السطر
Shell Environ$("COMSPEC") & " /c Copy" & ThisWorkbook.Path & "\info\*.txt" & ThisWorkbook.Path & "\info\CombinedFile.txt "
والذي يعني لأن يجمع الملفات النصية داخل المجلد info إلى ملف نصي جديد اسمه combinedfile
تأكد من الملف النصي الجديد داخل المجلد
تابعــــــــــــــــــــــــونا
- 1
-
في ملف الإكسيل طبعاً
-
LOF: ترمز إلى long file open
بمعنى حجم محتوى الملف من حروف وفراغات والذي يقرأه بشكل تلقائي
جرب بأن تستبدل (1) LOF بالرقم 10مثلاً ستشاهد بأنه قلل شاشة العرض حيث تحتوي على 10 خانات.
- 1
-
ثانياً: القراءة (read):
وهي نفس مبدأ الكتابة ولكنها تختلف في أمرين وهما:
- استخدام كلمة input بدلاً من output
- تخزين البيانات لعرضها بدلاً من نقلها
مثال:
Sub read() Dim FilePath As String Dim FileContent As String ' تحديد مسار الملف المطلوب قراءته FilePath = "C:\testfolder\create.txt" 'فتح الملف النصي Open FilePath For Input As #1 'تخزين البيانات FileContent = Input(LOF(1), #1) 'عرض البيانات المخزنة MsgBox FileContent 'إغلاق الملف النصي Close #1 End Sub
جرب الكود بعد تغيير مسار الملف المطلوب قراءته.
لاحظ بأنه لا يمكن قراءة الملف إذا لم يكن موجود.
- 1
-
جزاك الله خيراً.. شرح واف وأسلوب جميل
-
الأرقام هي عملية تنظيمية لدخول الملف .. يُمنع دخول شخص آخر في نفس الملف إلا إذا كان يحمل رقم مختلف .. وهذا يساعدنا في فتح الملف لأكثر من مستخدم في نفس اللحظة طالما أن كل شخص يحمل رقم مختلف.
- 1
-
ماذا يعني as#1:
يعني أن تفتح الملف رقم (1) بحيث لا يمكن لأحد غيري التعامل معه إلا إذا أغلقته (close#1)..
وإذا أردت أن أفتح ملف آخر في نفس الوقت أعطيه رقم آخر وليكن 2 فيكون الكود كالتالي:
open file for output as #2 . . . close #2
جرب أن تحذف كلمة close #1 وفعّل الكود، في المرة الأولى سيعمل معك بلا مشاكل،
حاول أن تشغل الكود مرة أخرى فسيعطيك رسالة بأن الملف لا يزال مفتوح،
أرجع كلمة close #1 إلى مكانها فسيعطيك أيضاً رسالة بأن الملف لا يزال مفتوح، لمااااااذا؟ ومالحل؟
بانتظار إجاباتكم.
-
أولاً: الكتابة (write):
الكتابة تعتبر نوع من أنواع المخرجات ولذلك نعبر عن الملف ب output
فلو أردنا الكتابة في ملف نصي فيجب أن نفتح ملف نوعه output قبل كتابة الكود كالمثال التالي:
Sub VBA_Print_to_a_text_file() Dim strFile_Path As String strFile_Path = "C:\temp\test.txt" 'غيّر مسار الملف من هنا Open strFile_Path For Output As #1 'هنا قمنا بفتح الملف Print #1, "مرحبا.. هنا منتدى أوفيسنا" Close #1 'هنا غلقنا الملف الذي فتحناه End Sub
جرب الكود ولا تنسى بأن تغير مسار الملف
ثم ابحث عن ملف test الذي تم تكوينه بشكل تلقائي.
حاول أن تغير العبارة "مرحبا.. هنا منتدى أوفيسنا" إلى عبارة أخرى، ستلاحظ بأنه تم طباعته على الكلام السابق في الملف test.
بمعنى أن الكود يبحث عن الملف test فإن لم يجده فإنه سوف ينشؤه دون أن يؤثر ذلك في عمل الكود.
- 1
-
بناءاً على رغبة المتابعين شرح الكود الخاص بالتعامل مع النصوص سيتم إدراج الأمثلة الخاصة بها مع الشرح في هذه الصفحة.
التعامل مع الملفات النصية ينقسم إلى ثلاثة أقسام وهي:
1- الكتابة (write).
2- القراءة (read).
3- الإضافة (append).
- 2
-
وحتى لا نشتت الموضوع اسمحولي بأن أدرجها في موضوع جديد، لأن شرحها يحتاج على الأقل إلى أربعة أمثلة لاستيعابها.
- 1
-
ولهذا السبب جعلنا نفكر بالتعامل مع ملفات النصوص text files.. سنعرف ذلك عندما سنشرح طريقة عمل الكود.. تابعنا
- 2
-
في 1/19/2017 at 13:13, ابوحمزه المصرى said:
تم حل المشكلة ... الخطأ كان بسبب التعامل مع ملف احمد الاول .. لو تكرمت أخى الزباري بشرح الكود حتى نفهم ما يجرى بالكود سوياً
بإذن الله سنتطرق لشرح الكود لاحقاً
- 1
-
أي أن العرض سيكون كالتالي:
-
أخي أبوحمزة.. بل يجب أن يكون في عدة أعمدة.. لا أدري مالمشكلة لديك، فقد جربتها في أكثر من جهاز ولا مشكلة لدي في العرض.
-
اممم .. فكرة جيدة، لكنه لا تخدمنا في حال تغير المندوبين أو إلغاء أو دمج أحدهم، فالتسلسل حاجة مجهولة، بمعنى أنه لو أردنا بيانات مندوب مخصص فمن الصعوبة تعريفه في البرمجة، بالإضافة إلى صعوبة تبادل البيانات بين المندوبين في حال تطوير البرنامج، محاولة تُشكر عليها، وتقبل تحياتي.
- 1
-
بصراحة الملف تحفة.. تحياتي أبو البراء
- 1
أسهل طريقة لإخفاء محتويات الفورم
في منتدى الاكسيل Excel
قام بنشر
بعيداً عن تعقيدات الكود.. سطر واحد يقوم بالمهام.. إليكم المرفق
hide-unhide.rar