من یک متن دارم در ووورد که در داخل متن فارسی ؛ کلمات انگلیسی وجود داره .
میخواهم ماکرویی داشته باشم که به هر کلمه انگلیسی رسید ؛ بعد اون کلمه انگلیسی یک اینتر بخوره و بره خط جدید
با تشکر
|
🖤 پیام تسلیتبا نهایت تأسف و تأثر، باخبر شدیم جناب آقای محمد محمدی با نام کاربری smartman ، از مدیران ارزشمند انجمن اکسل ایران، دار فانی را وداع گفتهاند. ایشان سالها با دانش، تجربه، اخلاق نیکو و روحیه کمک به دیگران، سهم بزرگی در رشد و پویایی انجمن داشتند و خاطره حضور ارزشمندشان همواره در ذهن اعضای انجمن باقی خواهد ماند. مدیریت و اعضای انجمن ExcelIran این ضایعه را به خانواده محترم ایشان، دوستان و تمامی اعضای انجمن تسلیت عرض نموده و از خداوند متعال برای آن مرحوم، رحمت و مغفرت الهی و برای بازماندگان صبر و شکیبایی مسئلت دارند.
انا لله و انا الیه راجعون
|
Sub M_ExceL()
Dim icounter As Long
Dim doc As Document
Set doc = ActiveDocument
icounter = 1
While icounter <> doc.Range.Characters.Count
If Asc(doc.Range.Characters(icounter)) > 96 _
And Asc(doc.Range.Characters(icounter)) < 123 Then
Do Until Asc(doc.Range.Characters(icounter)) = 32 _
Or Asc(doc.Range.Characters(icounter)) = 41
icounter = icounter + 1
Loop
doc.Range.Characters(icounter + 1) = vbNewLine
End If
icounter = icounter + 1
Wend
End Sub
Sub M_ExceL()
Dim icounter As Long
Dim doc As Document
Set doc = ActiveDocument
icounter = 1
While icounter <> doc.Range.Characters.Count
If Asc(doc.Range.Characters(icounter)) > 96 _
And Asc(doc.Range.Characters(icounter)) < 123 Then
Do Until Asc(doc.Range.Characters(icounter)) = 32 _
Or Asc(doc.Range.Characters(icounter)) = 41
icounter = icounter + 1
Loop
doc.Range.Characters(icounter + 1) = vbNewLine
End If
icounter = icounter + 1
Wend
End Sub
Sub M_ExceL()
Dim i As Long
Dim b As Boolean
i = 1
While i <> ActiveDocument.Range.Words.Count
ActiveDocument.Range.Words(i).Select
If Asc(LCase(ActiveDocument.Range.Words(i).Characters(1))) > 96 And Asc(LCase(ActiveDocument.Range.Words(i).Characters(1))) < 123 Then
b = False
Do While b = False
If Asc(LCase(ActiveDocument.Range.Words(i).Characters(1))) > 96 And Asc(LCase(ActiveDocument.Range.Words(i).Characters(1))) < 123 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) > 47 And Asc(ActiveDocument.Range.Words(i).Characters(1)) < 58 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 32 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 40 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 41 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 44 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 46 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 47 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 58 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 60 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 39 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 34 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 147 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 148 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 59 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 96 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 45 Then
b = False
ElseIf Asc(ActiveDocument.Range.Words(i).Characters(1)) = 150 Then
b = False
Else
b = True
End If
i = i + 1
Loop
ActiveDocument.Range.Words(i - 1).InsertBefore (vbNewLine)
End If
DoEvents
i = i + 1
Wend
End Sub
کامنت