Skip to content

Instantly share code, notes, and snippets.

View Surrogate-TM's full-sized avatar
🪗

Surrogate ™ Surrogate-TM

🪗
View GitHub Profile
@Surrogate-TM
Surrogate-TM / Hyperlinks_checker.md
Last active September 4, 2025 15:00
Проверка корректности гиперссылок в ячейках

Макрос для определения количества страниц в документах PDF в папке с текущей книгой.
image
⚠️ Для работы макроса необходимо подгрузить библиотеку Acrobat

Dim ur As Range
Dim AcroApp As Acrobat.CAcroApp
Dim Part1Document As Acrobat.CAcroPDDoc

Sub Get_All_File_from_Folder()
    Set AcroApp = CreateObject("AcroExch.App")
@Surrogate-TM
Surrogate-TM / LObugs.md
Last active September 4, 2025 15:01
В данном гисте собираю баги, которые могут встречаться при открытии документов MS Word LibreOffice Writer

Аварийное закрытие документа

${\color{red} При \space редактировании \space в \space Writer \space документов \space содержащих \space наши \space корпоративные \space стили \space происходит \space аварийное \space закрытие \space без}$ ${\color{red} сохранения \space изменений \space в \space документе!!!}$
Решение: Пока не нашел решения.

Проблема с оглавлением

  • Оглавление выезжает за рамки

Оглавление
Решение: Можно изменять отступы и табуляцию для стилей Оглавление1, Оглавление2, Оглавление3.

Проблема сокращенным названием

Ответы на комментарий к видео

  1. Фигура (1У_УЗО и подобные) - в данных фигурах есть поля, значения в которых не отображаются на схеме (например, Вид диф. тока, Ном. диф.ток. мА). Как предполагалось использовать эти поля у Вашего заказчика, если они доступны только в интерфейсе Visio? Есть ли возможность выводить данные значения на схему?

Для Заказчика делалась единая фигура которая на схему размещалась программно, и в зависимости от значения в поле "Тип" в таблице типа такой внешний вид единой фигуры изменялся в соответствии с правилом:
Типы аппапатов
Поля "Вид диф. тока", "Ном. диф.ток. мА" применялис

Код позаимствован там.

Наблюдение показало что параметры blacklevel, turdsize, turnpolicy, alphamax, opticurve, opttolerance не сильно влияют на выходное изображение…

Главное при подготовке скриншота увеличить масштаб отсканированного документа:
Лист А4, в просмотрщике PDF масштаб отображения по умолчанию 70%. Если сделать скрин при таком масштабе качество будет плохое!
Если поставить масштаб отображения 100% уже почти все читаемо.
Если поставить 200% уже очень хорошо.
Если поставить 400% - великолепно!!!

@Surrogate-TM
Surrogate-TM / extract_OLE.md
Last active September 4, 2025 15:03
Извлечение внедренных в документ MS Visio документов

Данный код позволяет извлечь документы внедренные в документ Visio [в форматах VSD/VSD(?)]

Sub Zip()
  Dim va As Application
  Set va = Application
  Dim doc As Document
  Dim cf As String
  Dim dn As String
  Dim nn As String
  Dim fn As String

Лечение "пятого колеса" в трафарете от immortal

Dim mSh As Shape, subSH As Shape, cln As String, clv As String
Sub bvv()
Set mSh = ActivePage.Shapes(1)
For Each subSH In mSh.Shapes
    If subSH.Type = visTypeShape Then FixFormula subSH
Next
MsgBox "TheEnd!!!"
End Sub
@Surrogate-TM
Surrogate-TM / ShapeSheet_Info.md
Last active July 4, 2024 14:46
Сборник полезный ссылок про таблицу свойств Visio

В данной заметке я привожу ряд полезных ссылок описывающих, что же такое таблица свойств (a.k.a. ShapeSheet) в MS Visio.

Официальные справочные материалы MS

Visio 2013/2016/2019/2021. ShapeSheet reference
Актуальная онлайн-версия документации не изменяестя начиная с версии Visio 2013!
Visio 2010. ShapeSheet reference
Онлайн-версия документации для версии Visio 2010
Visio 2007. ShapeSheet reference
Онлайн-версия документации для версии Visio 2007
Visio 2003. ShapeSheet reference
Онлайн-версия документации для версии Visio 2003

@Surrogate-TM
Surrogate-TM / ModifyStencil.md
Created September 15, 2023 15:26
Продолжение экспериментов с копированием отдельных свойств эталонной фигуры всем мастерам из трафарета

Задачи

Данное решение позволяет добавлять строки свойств из разделов User-Defined Cells, Shape Data, Actions которые имеются у эталонной фигуры, другим фигурам хранящимся во внешнем трафарете.
Также в отдельных ячейках происходит пропысывание формул содержащих вновь добавленные строки.

Последовательность действий

  1. Открыть чистый документ
  2. Подгрузить к нему целевой трафарет (vss/vssx)
  3. Открыть трафарет для редактирования (в этом режиме в окне трафарета должен отбражаться красный символ *)
  4. Вставить в VBA документ ниже приведенных код
  5. Вставить на лист эталонный образец
  6. Нажать клавиши Alt+F8 в окне Макросы выбрать единственных вариант ThisDocument.FixMasters

Описание

Данный код является миксом из двух опубликованных ранее решений: замена фигур и копирование разделов.
В результате его работы происходит:

  • замена выделенной фигуры на фигуру из образца (название образца содержится в переменной mn);
  • новая фигура вставляется на место выделенной, приобретает ее размеры, угол поворота и другие параметры из раздела Shape Transform;
    image
  • дочерние фигуры внутри новой фигуры получают те же параметры в разделах Line Format и Fill Format, что и в выделенной фигуре;
    image
  • первоначально выделенная фигура удаляется.