اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نسخ موديول من ملف لآخر عن طريق الكود


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

أقم لكم اليوم

كود لنسخ موديول Module  من ملف اكسيل لآخر

هذا هو الكود

Const File1 As String = "book1"
Const File2 As String = "book2"
Const Old_mod As String = "Module1"
Const New_mod As String = "ragab"

Sub CopyModule()
Dim Tmp As String
On Error Resume Next
F_path = ActiveWorkbook.Path
Tmp = F_path & "\" & "TempFile.bas"
Workbooks(File1).VBProject.VBComponents(Old_mod).Export Filename:=Tmp
Workbooks.Open F_path & "\" & File2
Workbooks(File2).VBProject.VBComponents.Import(Filename:=Tmp).Name = New_mod
Kill Tmp
End Sub

الجزء العلوى من الكود نحدد فيه بيانات الملفين والموديولات كالآتى

السطر الأول

Const File1 As String = "book1"

نحدد فيه اسم الملف الاول

السطر الثانى

Const File2 As String = "book2"

نحدد فيه اسم الملف الثانى

السطر الثالث

Const Old_mod As String = "Module1"

نحدد فيه اسم الموديول المراد نسخه

السطر الرابع

Const New_mod As String = "ragab"

نحدد فيه الاسم الجديد للموديول فى الملف الثانى

 

ملحوظة مهمة

لكى يعمل الكود بشكل سليم لابد من الخطوتين التاليتين أولا

1- فى محرر الاكواد (VBA editor ) اذهب الى أدوات (Tools) ثم مراجع (References ) وضع علامة صح أمام المرجع Microsoft Visual Basic For Application Extensibility

كما فى الصورة

 

804562345.jpg

 

 

2- فى واجهة الاكسل العادية من قائمة أدوات (Tools ) اختار ماكرو (macro ) ثم الأمان ( security) ثم من التبويب ( trusted publishers) ضع علامة صح أمام عبارة ( Trust access to visual Basic project )

كما فى الصورة

 

743252366.jpg

 

 

نسخ موديول من ملف لآخر.rar

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

تكملة للموضوع

اليكم طريقة حذف موديول عن طريق الكود

هذا هو الكود

وهو يعتمد على كتابة رقم الموديول فقط

طبعا ذلك يعتمد على أن الموديولات لها الأسماء الافتراضية

module1  و module2  و module3  وهكذا

Sub Del_Module()
On Error Resume Next
mod_num = Application.InputBox("أدخل رقم الموديول المراد حذفه", "حذف موديول")
With ActiveWorkbook.VBProject.VBComponents
  .Remove .Item("Module" & mod_num)
End With
End Sub

حذف موديول.rar

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

واذا أردنا تعديل

بحيث يكون الحذف بدلالة اسم الموديول وليس رقمه

يكون التعديل كالآتى

Sub Del_Module()
On Error Resume Next
mod_nam = Application.InputBox("أدخل اسم الموديول المراد حذفه", "حذف موديول")
With ActiveWorkbook.VBProject.VBComponents
  .Remove .Item(mod_nam)
End With
End Sub

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

واذا أردنا حذف جميع الموديولات

ما عدا الموديول المحتوى على كود الحذف وهو هنا ( module1  )

يكود الكود كالآتى

Sub Del_All_Modules()
Set VBComp = Application.VBE.ActiveVBProject.VBComponents
For Each VBComponent In VBComp
    If VBComponent.Name <> "Module1" Then
    If VBComponent.Type = 1 Then
    VBComp.Remove VBComponent
    End If
    End If
Next
End Sub

حذف جميع الموديولات.rar

تم تعديل بواسطه رجب جاويش
رابط هذا التعليق
شارك

اخى رجب

معلومات هامه وعامة

هامة يحتاجه كل التخصصات فى اى مشروع اذا اراد اضافتها

جزاك الله خيرا

اخى رجب

رايت فى ملفات من منتيات اجنبية لا تستطيع الوصول للمشروع

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

فهل هناك اكواد لذلك

With ActiveWorkbook.VBProject.VBComponents

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

أستاذى الحبيب / عبد الله باقشير

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

أستاذى الحبيب

تقبل أرق تحياتى

وجزاك الله كل خير

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

أخى الفاضل / سعد عابد

شكرا جزيلا أخى الفاضل

وجزاك الله كل خير

ليس عندى معلومة عن هذا الموضوع الذى يخص اخفاء المشروع كله

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

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