@davidnead כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
רצויה היכרות טובה מאוד עם ביטויים רגולריים
את האמת
את החלק הזה חסר לי מאוד
חיפשתי בעבר מדריך טוב ולא מצאתי ..
כאן בפורום מצאתי איזה מאמר קטן אבל ממש לא מקיף
@davidnead כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
רצויה היכרות טובה מאוד עם ביטויים רגולריים
את האמת
את החלק הזה חסר לי מאוד
חיפשתי בעבר מדריך טוב ולא מצאתי ..
כאן בפורום מצאתי איזה מאמר קטן אבל ממש לא מקיף
עלה לי כעת עוד מחשבה ע"פ מש"כ @קומפיונט
שאני יכול ליצור קוד שיחזיר לי את כל הר"ת בכל המסמכים לתוך טבלת אקסל, ופשוט לעבור אחד אחד ולחלק ל3 קטגוריות
לאחר מכן על הספק לעשות בדיקה איזו מילה יש לו לפני ולפי"ז למחוק או להשאיר ומה שנשאר בספק שיסמן לי אותו בסגנון נפרד ולעבור ע"ז ידנית.
השאלה היא האם זו הדרך הנכונה?
והאם זה לא מידי אגרסיבי לקוד vba החלש לעשות מליוני פעולות בצורה כזו?
עריכה: ראוי לציין שהחומר הוא די עקבי ...
@davidnead כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
ולכן זה תלוי בעיקר בכמות הטקסט ובחשיבות שלו עבורך. אם כמות הטקסט לא גדולה אבל מורכבותו כן - לפעמים עדיף לעשות זאת ידנית. כי העבודה שדרושה היא סזיפית במובן מסויים ודורשת המון התאמות וחוזר חלילה. זה צריך להיות משתלם.
@אוריי כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
לעבור על למעלה מכמה מיליוני מילים ואין הצר שווה ...
@Y-Excel-Access כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
משמעותי מאוד איך סיכמת את החומר
למה כוונתך?
@Y-Excel-Access כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
יש לך דוגמה שאפשר להראות שהיא מספיק משקפת?
@Y-Excel-Access כתב בחלום \ אתגר | זיהוי ראשי תיבות של סימני מקורות בקבצי וורד:
נ.ב. אשמח מאוד לראות את הקוד שלך, גם אם לא כיסה הכל...
הקוד שלי עודנו בראשי ועדיין לא העלתי אותו על הכתב (אני שאלתי את שאלתי כאן כדי לדעת אם יהיה שווה לי הזמן להתחיל עם זה)..
אם זה כ"כ משנה ונפק"מ אני יכתוב את זה
יש לי מלא קבצים עם מלא מקורות לסימנים בשו"ע או תשובות בשו"ת או אותיות וכו'
בקבצים האלו המקורות מסומנים בצורה כזו לדוגמא סי' שח כתוב כך ש"ח עם גרשיים ואם זה סימן ח זה כתוב כך ח'
כעת אני רוצה להוריד את כולם ולעבור על למעלה מכמה מיליוני מילים ואין הצר שווה ...

הבעיה היא שיש מלא סוגי "
)חשבתי על פתרון (אמנם הוא לא פותר לי את הבעיה באופן מלא)
לזהות את המילה שלפני
סי'
סימן
אות
סו"ס
וכו'.. וכו'..
ואם יש אחריה מילה עם " למחוק אותה.
הבעיה היא שלפעמים מופיע כמה סימנים תר"ד, תקא, וכו' (הפסיקים לא מוכרחים)...
השאלה בכללית האם זה שווה את המאמצים (ולכמה אחוזי תוצאה אני יגיע), או שפשוט בנידו"ד לא נאמר אין יאוש כלל...
אשמח לשמוע גם חוות דעת (וכמובן בע"ה אם יש פתרונות...) או עוד כיווני חשיבה איך לצלוח את הבעיה..
תודה רבה..
@yossiz
תודה רבה
זה פשוט חסך לי לעשות חפש את הבא בכל פעם..
@yossiz כוונתך לכך?

כי זה לא עובד
מצאתי איך אני יכול למצוא
אבל א"א להחליף את זה
אני רוצה שבהחלפה הוא יתעלם מהאותיות..
^p^$].
אני רוצה לעשות מחיקה של כל הסוגר ] שיש לי בתחילת פיסקאות אחרי מספור של אותיות
לדוגמא
א]. ב]. ג]. וכו'

מה שאני צריך לעשות זה חיפוש של סימון פיסקה ואז תו\ים כל שהם ואז ]. , ולעשות ע"ז החלפה הבעיה היא שאני לא יודע איך לחפש תו כל שהוא..
כך זה אמור להיראות חוץ מהסימן שאלה שצריך להחליף אותו
^p ? ].
@יהודי-טוב גוגל פורומס הדרך הפשוטה והקלה עי' במדריך הבא
@dovid כוונתך למה ש@yossiz כתב לגבי vba?
יש בוורד כמה וכמה רשימות מספור אוטומטי ואני רוצה לשלוט על התוכן
כלומר ליצור רשימה של מספור מ ת.. עד א.. וכו'.
בחיטוט של שעות בוורד ובגוגל לא מצאתי .. וכנראה ש... (אני מעדיף שלא להתיאש..)
מה שאני רוצה לדעת האם זה קבצים שנמצאים במיקום XXXXX במחשב באיזה תיקיה כך שאולי אני יוכל להוסיף עוד קבצים או לערוך קובץ קיים וכו'..
יש בעיה קטנה בקוד ש @פייתוניסט עשה, שהוא לא מטפל באותיות "טו" וב "טז"
אני עשיתי לעצמי תיקון לקוד
אז הנה השיתוף של הקוד לטבת המשתתפים
Function GIMATRIA(x)
G = ""
TV = Int(x / 400)
For i = 1 To TV
G = G & "ת"
Next i
x = x - (TV * 400)
TV = Int(x / 300)
For i = 1 To TV
G = G & "ש"
Next i
x = x - (TV * 300)
TV = Int(x / 200)
For i = 1 To TV
G = G & "ר"
Next i
x = x - (TV * 200)
TV = Int(x / 100)
For i = 1 To TV
G = G & "ק"
Next i
x = x - (TV * 100)
TV = Int(x / 90)
For i = 1 To TV
G = G & "צ"
Next i
x = x - (TV * 90)
TV = Int(x / 80)
For i = 1 To TV
G = G & "פ"
Next i
x = x - (TV * 80)
TV = Int(x / 70)
For i = 1 To TV
G = G & "ע"
Next i
x = x - (TV * 70)
TV = Int(x / 60)
For i = 1 To TV
G = G & "ס"
Next i
x = x - (TV * 60)
TV = Int(x / 50)
For i = 1 To TV
G = G & "נ"
Next i
x = x - (TV * 50)
TV = Int(x / 40)
For i = 1 To TV
G = G & "מ"
Next i
x = x - (TV * 40)
TV = Int(x / 30)
For i = 1 To TV
G = G & "ל"
Next i
x = x - (TV * 30)
TV = Int(x / 20)
For i = 1 To TV
G = G & "כ"
Next i
If x = 15 Then
G = G & "טו"
Else
If x = 16 Then
G = G & "טז"
Else
x = x - (TV * 20)
TV = Int(x / 10)
For i = 1 To TV
G = G & "י"
Next i
x = x - (TV * 10)
TV = Int(x / 9)
For i = 1 To TV
G = G & "ט"
Next i
x = x - (TV * 9)
TV = Int(x / 8)
For i = 1 To TV
G = G & "ח"
Next i
x = x - (TV * 8)
TV = Int(x / 7)
For i = 1 To TV
G = G & "ז"
Next i
x = x - (TV * 7)
TV = Int(x / 6)
For i = 1 To TV
G = G & "ו"
Next i
x = x - (TV * 6)
TV = Int(x / 5)
For i = 1 To TV
G = G & "ה"
Next i
x = x - (TV * 5)
TV = Int(x / 4)
For i = 1 To TV
G = G & "ד"
Next i
x = x - (TV * 4)
TV = Int(x / 3)
For i = 1 To TV
G = G & "ג"
Next i
x = x - (TV * 3)
TV = Int(x / 2)
For i = 1 To TV
G = G & "ב"
Next i
x = x - (TV * 2)
TV = Int(x / 1)
For i = 1 To TV
G = G & "א"
Next i
x = x - (TV * 1)
End If
End If
GIMATRIA = G
End Function
@yossiz אני עקבתי אחר ההוראות..
אבל עדיין זה לא עובד לי
כוונתי שזה לא עובד בתור פונקציה מקומית באקסל אבל בקוד כשלעצמו עובד לכל דבר
אני אישית הסתדרתי כי צירפתי את הפונקציה לקוד vba אחר וזה עבד לי...
@פייתוניסט ,
לאחר חיטוט בקוד מצאתי שיש באקסל כבר פונקציה בשם GIMATRIA (אני לא יודע אם זה רק אצלי או אצל כולם) בכל אופן לאחר שינוי של השם עובד מעולה
אמנם בvba הקוד עובד
אבל באקסל בתור נוסחה ממש לא..
@פייתוניסט
הפונקציה מחזירה שגיאה

@מאקרו תודה רבה כעת הוא מכניס לי את הקבצים לפי הסדר
רק מה שנותר לי זה שמירה של הקובץ בשם
בניסיון להעביר את הסמן לסוף המסמך מצאתי את הקוד הזה
Selection.EndKey Unit:=wdStory
מהמדריך הבא
אמנם לאחר שהכנסתי את זה לקוד באופן הבא
Set objDoc = objWord.Documents.Add
myPath = "C:\Users\User\Desktop\experience\"
myFile = Dir(myPath & "*.docx", vbNormal + vbReadOnly + vbHidden)
While myFile <> ""
With objDoc.Bookmarks("\StartOfDoc").range
.InsertFile FileName:=myPath & myFile, _
ConfirmConversions:=False, Link:=False, Attachment:=False
Selection.EndKey Unit:=wdStory
.InsertBreak Type:=2
End With
myFile = Dir()
Wend
objDoc.Characters(1).Delete
End Sub
הסמן אינו עובר לסוף המסמך כלל.... 
מבדיקה בstackoverflow נראה שזה באג של וורד שאין לו תקנה (מקווה שלא)...
אני רוצה למזג כמה קבצי וורד שמעוצבים באותו הסגנון לקובץ 1.
מצאתי את הקוד הזה
Sub MergeALL()
Dim objWord As Object
Dim objDoc As Object
Dim myPath As String, myFile As String
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add
myPath = "C:\Users\User\Desktop\experience\"
myFile = Dir(myPath & "*.docx", vbNormal + vbReadOnly + vbHidden)
While myFile <> ""
With objDoc.Bookmarks("\StartOfDoc").range
.InsertFile FileName:=myPath & myFile, _
ConfirmConversions:=False, Link:=False, Attachment:=False
.InsertBreak Type:=2
End With
myFile = Dir()
Wend
objDoc.Characters(1).Delete
End Sub
אמנם הקוד הזה עושה את העבודה אבל שני חלקים חסרים לי שלא הצלחתי לשנות.
@yossiz מעיין לדעת
עכשיו אתה פותר לי את השאלה שלי למה רק בסגנון הזה הוורד פתח לי עוד סגנון ולא בסגנונות אחרים .. כי רק הסגנון הזה מתחיל בתחילת פיסקה בסגנון אחד וממשיך בסגנון שני
תודה רבה על המידע 