Добавление стилей

This commit is contained in:
2025-07-04 16:55:46 +03:00
parent 71f706c2cf
commit c8d908032a
3 changed files with 686 additions and 74 deletions

77
Excel_idea.md Normal file
View File

@@ -0,0 +1,77 @@
## Идеи расширения для Excel
1. Поиск русских букв в латинице и наоборот
2. Кнопка переключения стиля сслык R1C1 на А1 и обратно
3. Объединение ячеек без потери текста и разъединение обратно
4. автоматическая установка расширения при открытии
Отображение скрытых строк
Иногда большие файлы Excel можно содержать скрытые строки для большей ясности И для лучшего удобства пользователей. Вот один макрос, который отобразит все строки из активной рабочей таблицы:
Sub ShowHiddenRows()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub
Удаление пустых строк и столбов
Пустые строки в Excel - может быть проблемой для обработки данных. Вот как избавиться от них:
Sub DeleteEmptyRowsAndColumns()
'Declare your variables.
Dim MyRange As Range
Dim iCounter As Long
'Define the target Range.
Set MyRange = ActiveSheet.UsedRange
'Start reverse looping through the range of Rows.
For iCounter = MyRange.Rows.Count To 1 Step -1
'If entire row is empty then delete it.
If Application.CountA(Rows(iCounter).EntireRow) = 0 Then
Rows(iCounter).Delete
'Remove comment to See which are the empty rows
'MsgBox "row " & iCounter & " is empty"
End If
'Increment the counter down
Next iCounter
'Step 6: Start reverse looping through the range of Columns.
For iCounter = MyRange.Columns.Count To 1 Step -1
'Step 7: If entire column is empty then delete it.
If Application.CountA(Columns(iCounter).EntireColumn) = 0 Then
Columns(iCounter).Delete
End If
'Step 8: Increment the counter down
Next iCounter
End Sub
транслитерация текста
Function Translit(Txt As String) As String
Dim Rus As Variant
Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
"л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
"щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
"Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
"С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")
Dim Eng As Variant
Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _
"k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
"sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _
"E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
"S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA")
For I = 1 To Len(Txt)
с = Mid(Txt, I, 1)
flag = 0
For J = 0 To 65
If Rus(J) = с Then
outchr = Eng(J)
flag = 1
Exit For
End If
Next J
If flag Then outstr = outstr & outchr Else outstr = outstr & с
Next I
Translit = outstr
End Function

View File

@@ -252,6 +252,17 @@ Dim CurrTbl As Table
Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter
'MsgBox ("первая строка отформатирована") 'MsgBox ("первая строка отформатирована")
'MsgBox ("вставка заголовка")
'Label = WdCaptionLabelID - https://learn.microsoft.com/ru-ru/office/vba/api/word.wdcaptionlabelid
'при испоьзовании WdCaptionLabelID вставляется английское название
'wdCaptionEquation = -3 формула
'wdCaptionFigure = -1 рисунок
'wdCaptionTable = -2 таблица
'Position = WdCaptionPosition - https://learn.microsoft.com/ru-ru/office/vba/api/word.wdcaptionposition
'wdCaptionPositionAbove = 0 до объекта
'wdCaptionPositionBelow = 1 после объекта
Selection.InsertCaption Label:="Таблица", Title:=" - ", Position:=wdCaptionPositionAbove
'MsgBox ("Done!") 'MsgBox ("Done!")
'MsgBox ("Готово!") 'MsgBox ("Готово!")
@@ -395,13 +406,39 @@ End Sub
Sub ML_AddStyle() Sub ML_AddStyle()
'Добавление стиля для названия рисунка 'Добавление стилей:
ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _ 'ГОСТ Обычный текст
'ГОСТ Название Рисунка
'ГОСТ Название Таблицы
'
'Добавление стилей маркированного и нумерованного списков идет через вызовы
'отдельных макросов, это нужно для того, чтобы коллекция стилей успевала обновляться
'Добавление стиля ГОСТ Обычный текст
'ActiveDocument.Styles.Add Name:="ГОСТ Обычный текст", Type:= _
' wdStyleTypeCharacter
' With ActiveDocument.Styles("ГОСТ Обычный текст").Font
' .Name = "Arial"
' .Size = 12
' .Color = wdColorAutomatic
' End With
' With ActiveDocument.Styles("ГОСТ Обычный текст").Font
' With .Shading
' .Texture = wdTextureNone
' .ForegroundPatternColor = wdColorAutomatic
' .BackgroundPatternColor = wdColorAutomatic
' End With
' .Borders(1).LineStyle = wdLineStyleNone
' .Borders.Shadow = False
' End With
'Добавление стиля ГОСТ Обычный текст
ActiveDocument.Styles.Add Name:="ГОСТ Обычный текст", Type:= _
wdStyleTypeParagraph wdStyleTypeParagraph
ActiveDocument.Styles("Название Рисунка").AutomaticallyUpdate = False ActiveDocument.Styles("ГОСТ Обычный текст").AutomaticallyUpdate = False
With ActiveDocument.Styles("Название Рисунка").Font With ActiveDocument.Styles("ГОСТ Обычный текст").Font
.Name = "Arial" .Name = "Arial"
.Size = 14 .Size = 12
.Bold = False .Bold = False
.Italic = False .Italic = False
.Underline = wdUnderlineNone .Underline = wdUnderlineNone
@@ -427,7 +464,92 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
.StylisticSet = wdStylisticSetDefault .StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0 .ContextualAlternates = 0
End With End With
With ActiveDocument.Styles("Название Рисунка").ParagraphFormat With ActiveDocument.Styles("ГОСТ Обычный текст").ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpace1pt5
.Alignment = wdAlignParagraphJustify
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(1.5)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
ActiveDocument.Styles("ГОСТ Обычный текст"). _
NoSpaceBetweenParagraphsOfSameStyle = True
ActiveDocument.Styles("ГОСТ Обычный текст").ParagraphFormat.TabStops. _
ClearAll
With ActiveDocument.Styles("ГОСТ Обычный текст").ParagraphFormat
With .Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = wdColorAutomatic
End With
.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
.Borders(wdBorderRight).LineStyle = wdLineStyleNone
.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
With .Borders
.DistanceFromTop = 1
.DistanceFromLeft = 4
.DistanceFromBottom = 1
.DistanceFromRight = 4
.Shadow = False
End With
End With
ActiveDocument.Styles("ГОСТ Обычный текст").LanguageID = wdRussian
ActiveDocument.Styles("ГОСТ Обычный текст").NoProofing = False
ActiveDocument.Styles("ГОСТ Обычный текст").Frame.Delete
'Добавление стиля для названия рисунка
ActiveDocument.Styles.Add Name:="ГОСТ Название Рисунка", Type:= _
wdStyleTypeParagraph
ActiveDocument.Styles("ГОСТ Название Рисунка").AutomaticallyUpdate = False
With ActiveDocument.Styles("ГОСТ Название Рисунка").Font
.Name = "Arial"
.Size = 12
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Scaling = 100
.Kerning = 0
.Animation = wdAnimationNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
With ActiveDocument.Styles("ГОСТ Название Рисунка").ParagraphFormat
.LeftIndent = CentimetersToPoints(0) .LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0) .RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0 .SpaceBefore = 0
@@ -452,11 +574,11 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
.MirrorIndents = False .MirrorIndents = False
.TextboxTightWrap = wdTightNone .TextboxTightWrap = wdTightNone
End With End With
ActiveDocument.Styles("Название Рисунка"). _ ActiveDocument.Styles("ГОСТ Название Рисунка"). _
NoSpaceBetweenParagraphsOfSameStyle = False NoSpaceBetweenParagraphsOfSameStyle = False
ActiveDocument.Styles("Название Рисунка").ParagraphFormat.TabStops. _ ActiveDocument.Styles("ГОСТ Название Рисунка").ParagraphFormat.TabStops. _
ClearAll ClearAll
With ActiveDocument.Styles("Название Рисунка").ParagraphFormat With ActiveDocument.Styles("ГОСТ Название Рисунка").ParagraphFormat
With .Shading With .Shading
.Texture = wdTextureNone .Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic .ForegroundPatternColor = wdColorAutomatic
@@ -474,17 +596,17 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
.Shadow = False .Shadow = False
End With End With
End With End With
ActiveDocument.Styles("Название Рисунка").LanguageID = wdRussian ActiveDocument.Styles("ГОСТ Название Рисунка").LanguageID = wdRussian
ActiveDocument.Styles("Название Рисунка").NoProofing = False ActiveDocument.Styles("ГОСТ Название Рисунка").NoProofing = False
ActiveDocument.Styles("Название Рисунка").Frame.Delete ActiveDocument.Styles("ГОСТ Название Рисунка").Frame.Delete
'Добавление стиля для названия таблицы 'Добавление стиля для названия таблицы
ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _ ActiveDocument.Styles.Add Name:="ГОСТ Название Таблицы", Type:= _
wdStyleTypeParagraph wdStyleTypeParagraph
ActiveDocument.Styles("Название Таблицы").AutomaticallyUpdate = False ActiveDocument.Styles("ГОСТ Название Таблицы").AutomaticallyUpdate = False
With ActiveDocument.Styles("Название Таблицы").Font With ActiveDocument.Styles("ГОСТ Название Таблицы").Font
.Name = "Arial" .Name = "Arial"
.Size = 14 .Size = 12
.Bold = False .Bold = False
.Italic = False .Italic = False
.Underline = wdUnderlineNone .Underline = wdUnderlineNone
@@ -510,7 +632,7 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
.StylisticSet = wdStylisticSetDefault .StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0 .ContextualAlternates = 0
End With End With
With ActiveDocument.Styles("Название Таблицы").ParagraphFormat With ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat
.LeftIndent = CentimetersToPoints(0) .LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0) .RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0 .SpaceBefore = 0
@@ -535,10 +657,10 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
.MirrorIndents = False .MirrorIndents = False
.TextboxTightWrap = wdTightNone .TextboxTightWrap = wdTightNone
End With End With
ActiveDocument.Styles("Название Таблицы"). _ ActiveDocument.Styles("ГОСТ Название Таблицы"). _
NoSpaceBetweenParagraphsOfSameStyle = False NoSpaceBetweenParagraphsOfSameStyle = False
ActiveDocument.Styles("Название Таблицы").ParagraphFormat.TabStops.ClearAll ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat.TabStops.ClearAll
With ActiveDocument.Styles("Название Таблицы").ParagraphFormat With ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat
With .Shading With .Shading
.Texture = wdTextureNone .Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic .ForegroundPatternColor = wdColorAutomatic
@@ -556,14 +678,439 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
.Shadow = False .Shadow = False
End With End With
End With End With
ActiveDocument.Styles("Название Таблицы").LanguageID = wdRussian ActiveDocument.Styles("ГОСТ Название Таблицы").LanguageID = wdRussian
ActiveDocument.Styles("Название Таблицы").NoProofing = False ActiveDocument.Styles("ГОСТ Название Таблицы").NoProofing = False
ActiveDocument.Styles("Название Таблицы").Frame.Delete ActiveDocument.Styles("ГОСТ Название Таблицы").Frame.Delete
Selection.ClearFormatting
'добавление стиля нумерованного списка
Call ML_AddNumList
Selection.ClearFormatting
'добавление стиля маркированного списка
Call ML_AddMarkerList
Selection.ClearFormatting
End Sub
Sub ML_TestMacros()
MsgBox ("Хоба!")
'MsgBox "Papersize = " & Selection.PageSetup.PaperSize
'wdPaperSize - https://learn.microsoft.com/en-us/office/vba/api/word.wdpapersize
'wdPaperA3 = 6
'wdPaperA4 = 7
'If Selection.PageSetup.PaperSize = 7 Then
' MsgBox ("A4")
'End If
'If Selection.PageSetup.PaperSize = 6 Then
' MsgBox ("A3")
'End If
MsgBox "Selection.Type = " & Selection.Type
End Sub
Sub ML_AddNumList()
'Добавление стиля нумерованного списка
ActiveDocument.Styles.Add Name:="ГОСТ Список цифра", Type:= _
wdStyleTypeParagraph
With ActiveDocument.Styles("ГОСТ Список цифра")
.AutomaticallyUpdate = False
.BaseStyle = "ГОСТ Обычный текст"
.NextParagraphStyle = "ГОСТ Список цифра"
End With
With ActiveDocument.Styles("ГОСТ Список цифра").Font
.Name = "Arial"
.Size = 12
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Scaling = 100
.Kerning = 0
.Animation = wdAnimationNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
With ActiveDocument.Styles("ГОСТ Список цифра").ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
ActiveDocument.Styles("ГОСТ Список цифра"). _
NoSpaceBetweenParagraphsOfSameStyle = False
ActiveDocument.Styles("ГОСТ Список цифра").ParagraphFormat.TabStops. _
ClearAll
With ActiveDocument.Styles("ГОСТ Список цифра").ParagraphFormat
With .Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = wdColorAutomatic
End With
.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
.Borders(wdBorderRight).LineStyle = wdLineStyleNone
.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
With .Borders
.DistanceFromTop = 1
.DistanceFromLeft = 4
.DistanceFromBottom = 1
.DistanceFromRight = 4
.Shadow = False
End With
End With
ActiveDocument.Styles("ГОСТ Список цифра").LanguageID = wdRussian
ActiveDocument.Styles("ГОСТ Список цифра").NoProofing = False
ActiveDocument.Styles("ГОСТ Список цифра").Frame.Delete
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(1)
.NumberFormat = "%1"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 0
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = "ГОСТ Список цифра"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(2)
.NumberFormat = "%1.%2"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 1
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(3)
.NumberFormat = "%1.%2.%3"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 2
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(4)
.NumberFormat = "%1.%2.%3.%4"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 3
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(5)
.NumberFormat = "%1.%2.%3.%4.%5"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 4
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(6)
.NumberFormat = "%1.%2.%3.%4.%5.%6"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 5
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(7)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 6
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(8)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7.%8"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 7
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(2).ListLevels(9)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7.%8.%9"
.TrailingCharacter = wdTrailingSpace
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0)
.TabPosition = wdUndefined
.ResetOnHigher = 8
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = ""
End With
.LinkedStyle = ""
End With
ListGalleries(wdOutlineNumberGallery).ListTemplates(2).Name = "NameDigit"
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:=ListGalleries(wdOutlineNumberGallery).ListTemplates(2)
'ListGalleries(wdOutlineNumberGallery).ListTemplates (2), _
'ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
'DefaultListBehavior:=wdWord10ListBehavior
ActiveDocument.Styles("ГОСТ Список цифра").LanguageID = wdRussian
ActiveDocument.Styles("ГОСТ Список цифра").NoProofing = False
ActiveDocument.Styles("ГОСТ Список цифра").Frame.Delete
'Selection.ClearFormatting
End Sub
Sub ML_AddMarkerList()
'Добавление стиля маркированного списка 'Добавление стиля маркированного списка
ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:= _ ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:= _
wdStyleTypeParagraph wdStyleTypeParagraph
ActiveDocument.Styles("ГОСТ Список маркер (-)").AutomaticallyUpdate = _
False With ActiveDocument.Styles("ГОСТ Список маркер (-)")
.AutomaticallyUpdate = False
.BaseStyle = "ГОСТ Обычный текст"
.NextParagraphStyle = "ГОСТ Список маркер (-)"
End With
With ActiveDocument.Styles("ГОСТ Список маркер (-)").Font With ActiveDocument.Styles("ГОСТ Список маркер (-)").Font
.Name = "Arial" .Name = "Arial"
.Size = 12 .Size = 12
@@ -639,14 +1186,14 @@ ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:=
.Shadow = False .Shadow = False
End With End With
End With End With
ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS 'ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS
ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False 'ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False
ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete 'ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete
Selection.MoveUp Unit:=wdLine, Count:=4 ''Selection.MoveUp Unit:=wdLine, Count:=4
Selection.MoveDown Unit:=wdLine, Count:=2 ''Selection.MoveDown Unit:=wdLine, Count:=2
Selection.MoveUp Unit:=wdLine, Count:=3 ''Selection.MoveUp Unit:=wdLine, Count:=3
Selection.MoveLeft Unit:=wdCharacter, Count:=27 ''Selection.MoveLeft Unit:=wdCharacter, Count:=27
Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend ''Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1) With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
.NumberFormat = "-" .NumberFormat = "-"
.TrailingCharacter = wdTrailingSpace .TrailingCharacter = wdTrailingSpace
@@ -926,35 +1473,16 @@ ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:=
End With End With
.LinkedStyle = "" .LinkedStyle = ""
End With End With
ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = "" ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = "NameMinus"
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _ Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:=ListGalleries(wdOutlineNumberGallery).ListTemplates(1)
ListGalleries(wdOutlineNumberGallery).ListTemplates(1), _ 'ListGalleries(wdOutlineNumberGallery).ListTemplates (1), _
ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _ 'ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
DefaultListBehavior:=wdWord10ListBehavior 'DefaultListBehavior:=wdWord10ListBehavior
End Sub
Sub ML_TestMacros()
MsgBox ("Хоба!")
MsgBox "Papersize = " & Selection.PageSetup.PaperSize
'wdPaperSize - https://learn.microsoft.com/en-us/office/vba/api/word.wdpapersize
'wdPaperA3 = 6
'wdPaperA4 = 7
If Selection.PageSetup.PaperSize = 7 Then
MsgBox ("A4")
End If
If Selection.PageSetup.PaperSize = 6 Then
MsgBox ("A3")
End If
ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS
ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False
ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete
'Selection.ClearFormatting
End Sub End Sub

View File

@@ -12,30 +12,37 @@ C:\Users\[ИмяПользователя]\AppData\Roaming\Microsoft\Word\STARTUP
3. Добавление нового раздела после курсора с горизонтальным листом А4; 3. Добавление нового раздела после курсора с горизонтальным листом А4;
4. Добавление нового раздела после курсора с вертикальным листом А4; 4. Добавление нового раздела после курсора с вертикальным листом А4;
5. Добавление нового раздела после курсора с горизонтальным листом А3; 5. Добавление нового раздела после курсора с горизонтальным листом А3;
6. Добавление подготовленных стилей в документ, чтобы форматирование картинки или таблицы происходило корректно, т.к. макросы форматирования картинок и таблиц ссылаются на определенные стили. Название доавляемых стилей в виде "ГОСТ Основной текст", "ГОСТ Название рисунка", итд. Необходимые стили:
6.1. Обычный текст - ок.
6.2. Название рисунка - ок.
6.3. Название таблицы - ок.
6.4. Нумерованый многоуровневый список - ок.
6.5. Маркированый многоуровневый список - ок.
## Планируемые функции ## Планируемые функции
1. Автоматическая установка расширения при открытии 1. Копирование стилей в шаблон пользователя Normal.dot через StyleOrganizer
2. Вставка штампов целиком и частями 2. Автоматическая установка расширения при открытии
3. Добавления ряда интересных функций из addin_wordtools 3. Вставка штампов целиком и частями
4. Добавления ряда интересных функций из addin_macrotoolsword 4. Добавления ряда интересных функций из addin_wordtools
5. Добавление подготовленных стилей в документ, чтобы форматирование картинки или таблицы происходило корректно. Изменение текущих стилей документа. Или приведение стилей к определенному шаблону. Название стилей в виде "ГОСТ Основной текст", "ГОСТ Название рисунка", итд. Необходимые стили: 5. Добавления ряда интересных функций из addin_macrotoolsword
5.1. Основной текст - ок
5.2. Название рисунка - ок
5.3. Название таблицы - ок
5.4. Нумерованый многоуровневый список
5.5. Маркированый многоуровневый список - ок
5.6. Обычный текст. Шрифт, размер, цвет текста, без абзацного отступа. На его основе должны строится остальные стили.
## Планируемые доработки скриптов ## Планируемые доработки скриптов
1. Форматирование таблицы - автоматическое определение формата листа и подгон ширины под формат листа. 1. Форматирование таблицы - автоматическое определение формата листа и подгон ширины под формат листа.
2. Добавить в форматирование таблицы вставку названия 2. Добавить в форматирование таблицы вставку названия
3. Применение стиля к насзванию рисунка и названию таблицы 3. Применение стиля к насзванию рисунка и названию таблицы
4. Проверка наличия стиля для названия рисунка и таблицы
## Changelog ## Changelog
1. Добавлена функция форматирования картинки со вставкой названия. Размер картинки уменьшается до определенного размера, который зависит от формата (а3/а4) и ориентации листа (портретный/альбомный); 1. Добавлена функция форматирования картинки со вставкой названия. Размер картинки уменьшается до определенного размера, который зависит от формата (а3/а4) и ориентации листа (портретный/альбомный);
2. Вставка вертикального А4 как нового раздела после курсора. Релизовано как SplitButton 2. Вставка вертикального А4 как нового раздела после курсора. Релизовано как SplitButton
3. Вставка горизонтального листа. После вставки горинзонтального листа следующие страницы превращаются также в горизонтальные. Надо сделать так чтобы вставлялся только один горизонтальный лист как раздел, а следующие разделы шли без изменения. 3. Вставка горизонтального листа. После вставки горинзонтального листа следующие страницы превращаются также в горизонтальные. Надо сделать так чтобы вставлялся только один горизонтальный лист как раздел, а следующие разделы шли без изменения.
4. Добавлена вставка стилей: Основной текст, Название руисунка, Название таблици, Маркированный многоуровневый (-) 4. 2025.07.04. Добавлена вставка стилей: "Основной текст", "Название руисунка", "Название таблицы", "Маркированный многоуровневый (-)", "Нумерованный Многоуровневый (-)"