لتشغيل ماكرو معين على أكثر من ملف موجود فى مجلد واحد
Sub ProcessAll()
Dim Wb As Document, sFile As String, sPath As String
Dim itm As Variant
Dim strFileNames As String
sPath = "d:\temp2\"
' Retrieve the current doc files in directory
sFile = Dir(sPath & "*.doc")
Do While sFile <> ""
strFileNames = strFileNames & "," & sFile
sFile = Dir()
Loop
' Open each file found
For Each itm In Split(strFileNames, ",")
If itm <> "" Then
Set Wb = Documents.Open(sPath & itm)
Call addredheader 'this runs my macro from above
Wb.Close True
End If
Next itm
End Sub
مرفق ملف به هذا الكود ، بالاضافة الي ماكرو يقوم باضافة كلمة أوفيسنا موقع الكيرسور أو مكان المؤشر و تغيير لونها و تكبير الخط اسمه addredheader اعددته للتجرية فقط
جرب علي ملفات خالية
حدد مسار الملفات التى تريد التطبيق عليها
ثم شغل الماكرو ProcessAll
سيقوم بتطبيق الماكرو addredheader على كافة الملفات من نوع *.doc داخل المجلد المحدد داخل الكود
وهو هنا فى المثال d:\temp2 كما هو مبين أعلاه
و طبعا ستستبدل الماكرو addredheader بالماكرو الذي تريد تطبيقه
و أخيرا لا تجرب على الملفات الحقيقية
فقط ضع اي ملفات فى المسار d:\temp2 للتجربة ، أو عدل المسار كما تريد
run multi macro.rar