1

Тема: A'm tool готовое решение для форматирования текста

Добрый день, коллеги.

Хочу поделиться результатом своего «творчества», а именно набором полезных инструментов для форматирования текстов в MS WORD. Кому будут полезны данные инструменты: переводчикам юридических документов, сотрудникам, занимающихся переформатированием или восстановлением документов.
Что умеет делать:
- авто нумерация абзацев индивидуальными стилями  (5 уровней)
- авто нумерация абзацев в двух колончатой таблице с создание индивидуального меню для каждой колонки.
- преобразование документа с отсутствующей авто нумерации в документ подлежащий редактированию.
- ну и дополнительные инструменты.

Вы можете коротенько ознакомиться с возможностями данного творчества, посмотрев внешняя ссылка

Что вы сможете добиться? Основное, это уменьшение времени на редактирование документа, собственно, это и подвигло на создание этих инструментов. На вопрос, почему делюсь слишком длинный ответ без использования мата, а с матом нельзя тут…

Post's attachments

a'm tool.zip 488.56 Кб, 19 скачиваний с 2017-09-07 

You don't have the permssions to download the attachments of this post.
"Ты не умничай, ты пальцем покажи"
"Кто поработал с многоуровневым списком в Ворде, тот в цирке не смеется"

2

Re: A'm tool готовое решение для форматирования текста

Приветствую.

Молодец! Со списками в Word намутили знатно.

У меня не пошел. Ошибки:

1. Ругнулся, что нет библиотеки:
    MISSING: Microsoft Windows Common Controls 6.0 (SP6)
    Лечится снятием галки в VBA / References.

2. Ругнулся на API-функции. Версия 32-битная, а у меня 64. Надо бы:

#If Win64 Then
    Private Declare PtrSafe
#Else
    Private Declare
#End If

    Ну и по коду LngPtr, где надо.

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: A'm tool готовое решение для форматирования текста

Добрый день,

Идеями и напутствиями Вождя продолжаем двигаться к ...

В силу отсутствия офиса 64 bit  прошу проверить корректность данной записи:   

#If Win64 Then
    Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongLong)
#Else
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
#End If

Вызывает вопрос для 64bit: LongLong или Long?
Для тех кто решит использовать данное творчество хочу сообщить что 100% работоспособность гарантирована только в Office 10 32bit.

В Office 64 bit отсутствует поддержка Microsoft Windows Common Controls 6.0 (SP6), от слова совсем. Ввиду отсутствия доступа к 64bit версии даже не представляю чем заменить данную библиотеку. Поэтому, основная часть функций (распознование уровней нумерации) не будет работать.

"Ты не умничай, ты пальцем покажи"
"Кто поработал с многоуровневым списком в Ворде, тот в цирке не смеется"

4

Re: A'm tool готовое решение для форматирования текста

AlexStar пишет:

...прошу проверить корректность данной записи...

В теории, так:

Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongPtr)

Но это не принципиально. Главное - вызвать соответственно. CopyMemory - это не безобидная функция, когда при ошибке ничего не будет. Например, для лечения указателя ленты, можно ее объявить так:

#If Win64 Then
    Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)
#Else
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)
#End If

А вызывать, если временно хранить указатель как строку, так:

#If Win64 Then
Dim P As LongPtr
    P = CLngPtr(S)
#Else
Dim P As Long
    P = CLng(S)
#End If
CopyMemory MyRibbon, P, LenB(P)
Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: A'm tool готовое решение для форматирования текста

AlexStar пишет:

На вопрос, почему делюсь слишком длинный ответ без использования мата, а с матом нельзя тут…

Архив не открывается. Чем вы его делали? Выдает сообщение "Ошибка позиционирования в файле" и "Попытка поместить указатель на файл перед началом файла".

Мой шаблон/макросы для автоматической нумерации Word 2003, 2007, 2010 и т.д. (стили, названия, перекрестные ссылки, LISTNUM). Делюсь: http://vk.com/club_alex_bir