1

Тема: Подсчет формул

Можно ли как-то заставить word считать написанные в него формулы?
Может не через стандартный редактор формул, а через какое-то дополнение?

2

Re: Подсчет формул

Попробуйте посчитать объекты InlineShapes со свойством ClassType:="Equation.3" (см., аналогичный пример здесь - http://wordexpert.ru/page/formuly-v-raz … chitatelya).

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Подсчет формул

Ссылка не правильная?

4

Re: Подсчет формул

eXod пишет:

Ссылка не правильная?

Приношу свои извинения. Сейчас ссылка работает.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Подсчет формул

eXod пишет:

Можно ли как-то заставить word считать написанные в него формулы?

Формулы в формате Equation 3.0 я умею обновлять через макрос. Может быть это можно модифицировать для подсчета...

Sub ПреобразоватьФормулы(lngNumber)
' вход: число формул, которые надо преобразовать
Dim i As Long
    
    ActiveWindow.View.ShowFieldCodes = True ' включение отображения кодов полей
    
    Selection.Find.ClearFormatting
        With Selection.Find 'настройка опций поиска
            .Text = "^d EMBED Equation.3" '^d  - означает поле
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        
    i = 0 ' инициализируем счетчик
    Do Until Selection.Find.Execute = False Or i = lngNumber
    'Selection.Find.Execute ' эту строку надо закоментировать обязательно
        i = i + 1
        If Selection.Type = wdSelectionShape Then
            Selection.ShapeRange(1).ConvertToInlineShape.Select
        End If
        Selection.InlineShapes(1).OLEFormat.ConvertTo ClassType:="Equation.3", _
            DisplayAsIcon:=False
    Loop
    ActiveWindow.View.ShowFieldCodes = False ' выключение отображения кодов полей
    Selection.MoveLeft Unit:=wdCharacter, Count:=1 ' сдвигаю позицию влево
End Sub
Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir