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

هل يمكن استدعاء ماكرو بشيت اكسل من خلال الأكسس


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

السلام عليكم 

وصف المشكلة:

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

لذا تم عمل ماكرو لإعادة تسمية الحقول بالشيت لتتوافق مع قاعدة البيانات  - وتم الوصول والحمد لله لكود لفتح الشيتات بشكل متوالى واستيراد البيانات منها الى قاعدة البيانات ولكن كان لابد من تشغيل الماكرو بشكل يدوى

والمطلوب الآن:

هل يمكن استداء الماكرو بشكل آلى من خلال الكود عقب فتح الشيت؟

أو لو أمكن تخزين الماكرو بالأكسس وتنفيذه بعد فتح الشيت عليه؟

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

آسف لعدم ارفاق مرفق الآن - سأعمل على تجهيزه غدا ان شاء الله

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

بفضل الله الموضوع بسيط

لفتح الإكسل على مصنف معين وتشغيل ماكرو معين فيه استعمل هذه الدالة

Function runExcelMacro(wkbookPath, macroName)
    Dim XL As Object
    Set XL = CreateObject("Excel.Application")
    With XL
    .Visible = False
      .displayalerts = False
      .Workbooks.Open wkbookPath
      .Run macroName
      .ActiveWorkbook.Close (True)
      .Quit
    End With
    Set XL = Nothing
End Function

وطريقة استدعائها هكذا

Sub mas()
    Call runExcelMacro("C:\myworkbook.xls", "Macro1")
End Sub

الباراميتر الأول مسار الملف وليس اسمه فقط

والثاني اسم الإجراء

موفق بإذن الله

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

14 ساعات مضت, أبو عبدالله الحلوانى said:

لذا تم عمل ماكرو لإعادة تسمية الحقول بالشيت لتتوافق مع قاعدة البيانات  - وتم الوصول والحمد لله لكود لفتح الشيتات بشكل متوالى واستيراد البيانات منها الى قاعدة البيانات ولكن كان لابد من تشغيل الماكرو بشكل يدوى

السلام عليكم 

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

شكراًلك و بارك الله بك .

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

18 ساعات مضت, أ / محمد صالح said:

بفضل الله الموضوع بسيط

جزاك الله خيرا أستاذنا وجعله الله بموازين اعمالكم الصالحة

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

أى كود تصدير الماكرو للاكسل

و جزاكم الله عنا خيرا

5 ساعات مضت, Khalf said:

هل من الممكن عرض هذه الأكواد هنا

نعم ان شاء الله 

ريثما أنتهى من اعداد مرفق خاص بها 

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

 

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

لا تحتاج لكتابة الكود في أكسس ثم تصديره إلى إكسل

فقط تحتاج كتابة جميع سطور الأوامر الخاصة بالإكسل بين السطرين

with xl

end with

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

مثلا

.activesheet.range("a1").value=5555555

 

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

15 دقائق مضت, أ / محمد صالح said:

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

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

سأجرب وأوافيكم بالنتائج ان شاء الله

 

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

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