المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : البحث عن مفردة معينة في الوورد ثم تعويضها و اظهار الناتج داخل الاوتوبلاي


عبد الهادي بهاب
28-08-2016, 09:03 AM
لاحظوا هذا الكود



sSaveDoc = Input.GetText("Input2");

--Create a WordApp object
oWordApp=luacom.CreateObject("Word.Application");
--Create a Document Object
oDoc=luacom.CreateObject("Word.Document");

--Make the WordApp visible
oWordApp.Visible = false;

--Add a Document to the WordApp (open one)
oDoc = oWordApp.Documents:Open(sTemplateDoc);
--Activate
oDoc:Activate();

--Replace text
oWordApp.Selection.Find:ClearFormatting();
oWordApp.Selection.Find.Text = "<pastehere>";
oWordApp.Selection.Find.Replacement.Text = ""
oWordApp.Selection.Find.Forward = true
oWordApp.Selection.Find.Wrap = 0
oWordApp.Selection.Find.Format = false
oWordApp.Selection.Find.MatchCase = false
oWordApp.Selection.Find.MatchWholeWord = false
oWordApp.Selection.Find.MatchWildcards = false
oWordApp.Selection.Find.MatchSoundsLike = false
oWordApp.Selection.Find.MatchAllWordForms = false
oWordApp.Selection.Find:Execute();

if oWordApp.Selection.Find.Found == true then
oWordApp.Selection:PasteAndFormat(20);
end


--Save as
oDoc:SaveAs(sSaveDoc);

--QUIT
oDoc:Close(false);



هو يختص بالبحث عم مفردة معينة في هذا السطر


oWordApp.Selection.Find.Text = "<pastehere>";

ثم تعويضها و حفظ الملف من جديد

الكود موجود في هذا الموضوع : من هنا

السؤال سيداتي سادتي : كيف ادمج بين الكود وهذا الكود

في هذا الموضوع (http://www.abc4web.net/vb/showthread.php?t=33990)

http://www.abc4web.net/vb/showthread.php?t=33990

مع هذا الاخير
اعني فتح ملف وورد و البحث فيه عن مفردة معينة و تعويضها بما تشاء ثم في الاخير استدعاء ناتج العمل في الانبوت ؟؟؟

تحياتي

ثامر أبو بلقيس
28-08-2016, 02:55 PM
جيد .. في الكود الأول الذي نقلته الكثير من الاجراءات الزائدة
و لاحظ أن الكود الثاني من المفترض هو محل موضوع لصاحبه
لو نقل إلى منتدى آخر لا بأس لكن على نفس المنتدى فهو لا يختلف عن تحرير
مرفقات أو روابط مخفية لاتغضب ... و تخيل واحد يضع رابط مخفي و أقوم بتحريره
في ردودي قلت مثلا فقط لأني ما قمت بهذا قط .
-----------------------------------------------------------
على كل تريد بعد البحث عن المفردة استبدالها و التوقف أم استبدال كل المفردات
المشابهة لها أي استبدال الكل

عبد الهادي بهاب
28-08-2016, 05:17 PM
جيد .. في الكود الأول الذي نقلته الكثير من الاجراءات الزائدة
و لاحظ أن الكود الثاني من المفترض هو محل موضوع لصاحبه
لو نقل إلى منتدى آخر لا بأس لكن على نفس المنتدى فهو لا يختلف عن تحرير
مرفقات أو روابط مخفية لاتغضب ... و تخيل واحد يضع رابط مخفي و أقوم بتحريره
في ردودي قلت مثلا فقط لأني ما قمت بهذا قط .
-----------------------------------------------------------
على كل تريد بعد البحث عن المفردة استبدالها و التوقف أم استبدال كل المفردات
المشابهة لها أي استبدال الكل

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

ثامر أبو بلقيس
28-08-2016, 05:33 PM
أحسنت قلت لك ليس لأني منزعج لالا فقد لا يقبلها منك أحد آخر

على كل نتكلم في المفيد
هاهو السيناريو الأول أي البحث عن كلمة معينة واستبدالها
---- données --------
Path="C:\\1.doc"
Word_Search = "belkiss"
replaceText = "BELKISS"
------exécution-----
DLL.CallFunction("user32.dll", "LoadKeyboardLayoutA", "\"00000401\", 1", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
local sourceFile = Path
local word = luacom.CreateObject("Word.Application")
local book = word.documents:Add()
word.Visible = false
local wBook=word.documents:Open(sourceFile)
word.Selection.Find.Text = Word_Search;
word.Selection.Find:Execute();
word.Selection.Text =replaceText
wBook:select();
word.Selection:Copy();
wBook:SaveAs(sourceFile)
Input.Paste("Input1");
book:Close()
word:Quit()
--------abou _belkiss


السيناريو الثاني أي استبدال الكل دفعة واحدة وحتى لا أحتكر المكان
أستفيد منكم :abc_138: في انتظار السيناريو الثاني
ملاحظة غير عملي فتح الملف كل مرة أي الفتح مرة و الاستبدال دفعة واحدة

عبد الهادي بهاب
28-08-2016, 09:19 PM
أحسنت قلت لك ليس لأني منزعج لالا فقد لا يقبلها منك أحد آخر

على كل نتكلم في المفيد
هاهو السيناريو الأول أي البحث عن كلمة معينة واستبدالها
---- données --------
path="c:\\1.doc"
word_search = "belkiss"
replacetext = "belkiss"
------exécution-----
dll.callfunction("user32.dll", "loadkeyboardlayouta", "\"00000401\", 1", dll_return_type_long, dll_call_stdcall)
local sourcefile = path
local word = luacom.createobject("word.application")
local book = word.documents:add()
word.visible = false
local wbook=word.documents:open(sourcefile)
word.selection.find.text = word_search;
word.selection.find:execute();
word.selection.text =replacetext
wbook:select();
word.selection:copy();
wbook:saveas(sourcefile)
input.paste("input1");
book:close()
word:quit()
--------abou _belkiss


السيناريو الثاني أي استبدال الكل دفعة واحدة وحتى لا أحتكر المكان
أستفيد منكم :abc_138: في انتظار السيناريو الثاني
ملاحظة غير عملي فتح الملف كل مرة أي الفتح مرة و الاستبدال دفعة واحدة

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