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

مشاركة ملف الإكسيل لأكثر من مستخدم والتعديل عليه في نفس الوقت


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

تفضلوا ملف أخونا ابراهيم مع المندوبين الثلاثة، حاولو تنقلوا الملفات في المكان الذي فيه مجلد info (وليس داخله)  والذي سبق أن تم تنزيله من قبل ، ومن ثم جربوا فتح ملفات المندوبين وأخيراً ملف أخونا ابراهيم وقومو باستدعاء الملفات الثلاثة إليه.

وتقبلوا تحياتي.

allfiles.rar

  • Like 2
رابط هذا التعليق
شارك

بارك الله فيك أخي الكريم الزباري

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

Sub ImportAhmad()
    ReadString "ahmad", Sheet2
End Sub

Sub ImportAli()
    ReadString "ali", Sheet3
End Sub

Sub ImportYosuf()
    ReadString "yosuf", Sheet4
End Sub

Sub ReadString(customer As String, sh As Worksheet)
    Dim sLine           As String
    Dim sFName          As String
    Dim intFNumber      As Integer
    Dim lRow            As Long
    Dim lColumn         As Long
    Dim vDataValues     As Variant
    Dim intCount        As Integer
    
    sFName = ThisWorkbook.Path & "\Info\" & customer & ".txt"
    intFNumber = FreeFile
    
    On Error Resume Next
    Open sFName For Input As #intFNumber
    
    If Err.Number <> 0 Then
        MsgBox "Text File Not Found!", vbCritical, "Error!"
        Exit Sub
    End If
    On Error GoTo 0
    
    sh.Cells.Clear
    lRow = 1
    
    Do While Not EOF(intFNumber)
        Line Input #intFNumber, sLine
        vDataValues = Split(sLine, vbTab)
        
        With sh
            lColumn = 1
            For intCount = LBound(vDataValues) To UBound(vDataValues)
                .Cells(lRow, lColumn) = vDataValues(intCount)
                lColumn = lColumn + 1
            Next intCount
            .Cells.EntireColumn.AutoFit
            .Activate
            .Range("A1").Select
        End With
        
        lRow = lRow + 1
    Loop
    
    Close #intFNumber
    MsgBox "Values From File '" & sFName & "' Were Imported To Sheet '" & sh.Name & "'!", vbInformation
End Sub

 

  • Like 4
رابط هذا التعليق
شارك

راااائع أستاذي أبوالبراء، الفكرة في محلها، بالفعل فهي تختصر تكرار الكود، شاكرين لك أفضالك، وتقبل تحياتي.

وغداً أجمل، تابعوووونا.

  • Like 1
رابط هذا التعليق
شارك

رائع جداً، لعل أخونا ابراهيم توصل بهذه الفكرة إلى آلية لاستقبال بيانات المندوبين، فبهذه السهولة يتم استدعاء بيانات المندوبين كلما استلزم الأمر، 

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

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

كيف تم حل الموضوع.. تابعووووونا.

رابط هذا التعليق
شارك

منذ ساعه, الزباري said:

رائع جداً، لعل أخونا ابراهيم توصل بهذه الفكرة إلى آلية لاستقبال بيانات المندوبين، فبهذه السهولة يتم استدعاء بيانات المندوبين كلما استلزم الأمر، 

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

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

كيف تم حل الموضوع.. تابعووووونا.

من خلال متابعة الموضوع توصلت إلى أنه يمكن عمل استدعاء لأكثر من 20 مندوب

والطريقة : أن نجعل ملفات التكس لكل مندوب مرقمة بأرقام تسلسلية بدلا من ahmad.txt    or ali.txt

ستكون الملفات هكذا 1.txt    و 2.txt  و  3.txt  وهكذا إلى آخر عدد من المندوبين 

ثم من ملف ابراهيم استطيع عمل حلقة تكرارية تبدا من 1 إلى آخر ملف ويتم بضغطة واحدة إحضار جميع الملفات

 

هذه هي الفكرة

تم تعديل بواسطه أبوعيد
  • Like 2
رابط هذا التعليق
شارك

اممم .. فكرة جيدة، لكنه لا تخدمنا في حال تغير المندوبين أو إلغاء أو دمج أحدهم، فالتسلسل حاجة مجهولة، بمعنى أنه لو أردنا بيانات مندوب مخصص فمن الصعوبة تعريفه في البرمجة، بالإضافة إلى صعوبة تبادل البيانات بين المندوبين في حال تطوير البرنامج، محاولة تُشكر عليها، وتقبل تحياتي.

  • Like 1
رابط هذا التعليق
شارك

أخي الزباري بارك الله فيك على هذا الموضوع المتميز .. تقبل وافر تقديري واحترامي

نتيجة استدعاء احمد ... هل هكذا ... أم هناك خطأ ما لدى 

AHMED.jpg

AHMED.jpg

تم تعديل بواسطه ابوحمزه المصرى
رابط هذا التعليق
شارك

أخي أبوحمزة.. بل يجب أن يكون في عدة أعمدة.. لا أدري مالمشكلة لديك، فقد جربتها في أكثر من جهاز ولا مشكلة لدي في العرض.

رابط هذا التعليق
شارك

تم حل المشكلة ... الخطأ كان بسبب التعامل مع ملف احمد الاول .. لو تكرمت أخى الزباري بشرح الكود حتى نفهم ما يجرى بالكود سوياً

تم تعديل بواسطه ابوحمزه المصرى
رابط هذا التعليق
شارك

في 1/19/2017 at 13:13, ابوحمزه المصرى said:

تم حل المشكلة ... الخطأ كان بسبب التعامل مع ملف احمد الاول .. لو تكرمت أخى الزباري بشرح الكود حتى نفهم ما يجرى بالكود سوياً

بإذن الله سنتطرق لشرح الكود لاحقاً

  • Like 1
رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

ولهذا السبب جعلنا نفكر بالتعامل مع ملفات النصوص text files.. سنعرف ذلك عندما سنشرح طريقة عمل الكود.. تابعنا

  • Like 2
رابط هذا التعليق
شارك

وحتى لا نشتت الموضوع اسمحولي بأن أدرجها في موضوع جديد، لأن شرحها يحتاج على الأقل إلى أربعة أمثلة لاستيعابها.

تابعونا في هذا الرابط

  • Like 1
رابط هذا التعليق
شارك

نعود لأخونا ابراهيم، وكما قلنا بأن أخونا ابراهيم أراد أن يجمع الملفات في شيت واحد طالما أن المندوبين لديهم نفس النموذج.

ولعمل هذه التجميعة فلا بد أن نتبع إحدى الطريقتين:

إما أن يتم استدعاء جميع الملفات النصية من المجلد إلى الإكسيل بشكل مباشر.

أو

أن يتم تجميع الملفات النصية إلى ملف نصي جديد ، ومن ثم يتم الإستدعاء من الملف النصي الجديد إلى الإكسيل بشكل مباشر.

اعتمدت أنا على الطريقة الثانية كالتالي:

ابراهيم2.rar

لا تنسى نقل الملف إلى مكانه الصحيح حيث يوجد المجلد info

لو لاحظت أننا لم نغير في الكود سوى هذا السطر

 Shell Environ$("COMSPEC") & " /c Copy" & ThisWorkbook.Path & "\info\*.txt" & ThisWorkbook.Path & "\info\CombinedFile.txt "

والذي يعني لأن يجمع الملفات النصية داخل المجلد info إلى ملف نصي جديد اسمه combinedfile

تأكد من الملف النصي الجديد داخل المجلد

تابعــــــــــــــــــــــــونا

  • Like 1
رابط هذا التعليق
شارك

 اخى الزبارى

مشكورا على المجهود الكبير

والموضوع الجميل

بارك الله فيك

.........................................

انا نزلت الملف بس مش عارف مش شغال

 

بيقول ان الملف مش موجود

تقبل تحياتى

رابط هذا التعليق
شارك

2 ساعات مضت, إبراهيم ابوليله said:

 اخى الزبارى

مشكورا على المجهود الكبير

والموضوع الجميل

بارك الله فيك

.........................................

انا نزلت الملف بس مش عارف مش شغال

 

بيقول ان الملف مش موجود

تقبل تحياتى

يبدو أنك لم تنقل الملف إلى سطح المكتب

الملف مرتبط بالمجلد info

جرب أن تنقل الملف إلى المكان الذي تم فيه تخزين ملف ابراهيم والمندوبين

رابط هذا التعليق
شارك

في ١٦‏/١‏/٢٠١٧ at 17:16, الزباري said:

تفضلوا ملف أخونا ابراهيم مع المندوبين الثلاثة، حاولو تنقلوا الملفات في المكان الذي فيه مجلد info (وليس داخله)  والذي سبق أن تم تنزيله من قبل ، ومن ثم جربوا فتح ملفات المندوبين وأخيراً ملف أخونا ابراهيم وقومو باستدعاء الملفات الثلاثة إليه.

وتقبلوا تحياتي.

allfiles.rar

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

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

من حيث المبدأ فكرة رائعة وجميلة كروعة أدائك المتميز باستمرار أخي الحبيب الزباري ...

لكن جربتها ونزلت المرفق كما ذكرت فك الضغط عنه على سطح المكتب ...أعطاني Error 

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

..أفيدونا جزاكم الله خيراً ...والسلام عليكم.

رابط هذا التعليق
شارك

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.

×
×
  • اضف...

Important Information