Nhờ hỗ trợ chuyển text thành công thức equation trong word

Liên hệ QC

hvt268

Thành viên chính thức
Tham gia
27/7/14
Bài viết
71
Được thích
8
Câu 1. Viết công thức diện tích xung quanh Sxq của hình nón tròn xoay có độ dài đường sinh l và bán kính đường tròn đáy r.

A. `S_(xq) = 2πℓ`

B. `S_(xq) = rℓ`

C. `S_(xq) = πrℓ`

D. `S_(xq) = 1/2 πrℓ`

Mình là giáo viên, cần tạo một macro trong woed để thực hiện một công việc như sau (trong phần văn bản minh hoạ bên trên):

1. Chọn tất cả phần văn bản nằm giữa hai dấu `` (dấu phía trên phím tab).

2. Chuyển tất cả phần đã chọn ở mục 1 thành công thức equation

3. Xoá tất cả dấu `

Các bạn có thể tải file về để hiểu hơn về mong muốn của mình

Cám ơn các bạn rất nhiều!
 

File đính kèm

  • Nhờ hỗ trợ chuyển text thành công thức equation.docx
    16.1 KB · Đọc: 5
Câu 1. Viết công thức diện tích xung quanh Sxq của hình nón tròn xoay có độ dài đường sinh l và bán kính đường tròn đáy r.

A. `S_(xq) = 2πℓ`

B. `S_(xq) = rℓ`

C. `S_(xq) = πrℓ`

D. `S_(xq) = 1/2 πrℓ`

Mình là giáo viên, cần tạo một macro trong woed để thực hiện một công việc như sau (trong phần văn bản minh hoạ bên trên):

1. Chọn tất cả phần văn bản nằm giữa hai dấu `` (dấu phía trên phím tab).

2. Chuyển tất cả phần đã chọn ở mục 1 thành công thức equation

3. Xoá tất cả dấu `

Các bạn có thể tải file về để hiểu hơn về mong muốn của mình

Cám ơn các bạn rất nhiều!
Dùng thử code này xem có được không.
Mã:
Sub ConvertEquation()
    Dim objDoc As Document
    Dim wdRng As Range
    Dim equationRange As OMath
    Dim SearchTxt As String, txt As String
    Dim sIndex As Integer
    On Error GoTo Loi
    Set objDoc = ThisDocument
    Set wdRng = objDoc.Content
    SearchTxt = "([A-D].)*(^13)"
    With wdRng.Find
        .ClearFormatting
        .Forward = True
        .Wrap = wdFindStop
        .MatchWholeWord = True
        .MatchCase = False
        .MatchWildcards = True
        .Text = SearchTxt
    End With
    Do While wdRng.Find.Execute
        txt = wdRng: sIndex = InStr(txt, "`")
        If sIndex > 0 Then
            txt = Replace(txt, "`", "")
            wdRng.Text = txt
            wdRng.MoveStart wdCharacter, sIndex - 1
            wdRng.MoveEnd wdCharacter, -1
            Set equationRange = wdRng.OMaths.Add(wdRng).OMaths.Item(1)
            equationRange.BuildUp
        End If
        wdRng.Collapse wdCollapseEnd
    Loop
    MsgBox "Da thuc hien xong"
    Exit Sub
Loi:
    MsgBox "Da co loi xay ra trong qua trinh chuyen doi"
End Sub
 
Web KT
Back
Top Bottom