Добавление стилей
This commit is contained in:
77
Excel_idea.md
Normal file
77
Excel_idea.md
Normal 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
|
||||
652
MacrosList.bas
652
MacrosList.bas
@@ -252,6 +252,17 @@ Dim CurrTbl As Table
|
||||
Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter
|
||||
'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 ("Готово!")
|
||||
|
||||
@@ -395,13 +406,39 @@ End Sub
|
||||
|
||||
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
|
||||
ActiveDocument.Styles("Название Рисунка").AutomaticallyUpdate = False
|
||||
With ActiveDocument.Styles("Название Рисунка").Font
|
||||
ActiveDocument.Styles("ГОСТ Обычный текст").AutomaticallyUpdate = False
|
||||
With ActiveDocument.Styles("ГОСТ Обычный текст").Font
|
||||
.Name = "Arial"
|
||||
.Size = 14
|
||||
.Size = 12
|
||||
.Bold = False
|
||||
.Italic = False
|
||||
.Underline = wdUnderlineNone
|
||||
@@ -427,7 +464,92 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
|
||||
.StylisticSet = wdStylisticSetDefault
|
||||
.ContextualAlternates = 0
|
||||
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)
|
||||
.RightIndent = CentimetersToPoints(0)
|
||||
.SpaceBefore = 0
|
||||
@@ -452,11 +574,11 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
|
||||
.MirrorIndents = False
|
||||
.TextboxTightWrap = wdTightNone
|
||||
End With
|
||||
ActiveDocument.Styles("Название Рисунка"). _
|
||||
ActiveDocument.Styles("ГОСТ Название Рисунка"). _
|
||||
NoSpaceBetweenParagraphsOfSameStyle = False
|
||||
ActiveDocument.Styles("Название Рисунка").ParagraphFormat.TabStops. _
|
||||
ActiveDocument.Styles("ГОСТ Название Рисунка").ParagraphFormat.TabStops. _
|
||||
ClearAll
|
||||
With ActiveDocument.Styles("Название Рисунка").ParagraphFormat
|
||||
With ActiveDocument.Styles("ГОСТ Название Рисунка").ParagraphFormat
|
||||
With .Shading
|
||||
.Texture = wdTextureNone
|
||||
.ForegroundPatternColor = wdColorAutomatic
|
||||
@@ -474,17 +596,17 @@ ActiveDocument.Styles.Add Name:="Название Рисунка", Type:= _
|
||||
.Shadow = False
|
||||
End With
|
||||
End With
|
||||
ActiveDocument.Styles("Название Рисунка").LanguageID = wdRussian
|
||||
ActiveDocument.Styles("Название Рисунка").NoProofing = False
|
||||
ActiveDocument.Styles("Название Рисунка").Frame.Delete
|
||||
ActiveDocument.Styles("ГОСТ Название Рисунка").LanguageID = wdRussian
|
||||
ActiveDocument.Styles("ГОСТ Название Рисунка").NoProofing = False
|
||||
ActiveDocument.Styles("ГОСТ Название Рисунка").Frame.Delete
|
||||
|
||||
'Добавление стиля для названия таблицы
|
||||
ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
|
||||
ActiveDocument.Styles.Add Name:="ГОСТ Название Таблицы", Type:= _
|
||||
wdStyleTypeParagraph
|
||||
ActiveDocument.Styles("Название Таблицы").AutomaticallyUpdate = False
|
||||
With ActiveDocument.Styles("Название Таблицы").Font
|
||||
ActiveDocument.Styles("ГОСТ Название Таблицы").AutomaticallyUpdate = False
|
||||
With ActiveDocument.Styles("ГОСТ Название Таблицы").Font
|
||||
.Name = "Arial"
|
||||
.Size = 14
|
||||
.Size = 12
|
||||
.Bold = False
|
||||
.Italic = False
|
||||
.Underline = wdUnderlineNone
|
||||
@@ -510,7 +632,7 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
|
||||
.StylisticSet = wdStylisticSetDefault
|
||||
.ContextualAlternates = 0
|
||||
End With
|
||||
With ActiveDocument.Styles("Название Таблицы").ParagraphFormat
|
||||
With ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat
|
||||
.LeftIndent = CentimetersToPoints(0)
|
||||
.RightIndent = CentimetersToPoints(0)
|
||||
.SpaceBefore = 0
|
||||
@@ -535,10 +657,10 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
|
||||
.MirrorIndents = False
|
||||
.TextboxTightWrap = wdTightNone
|
||||
End With
|
||||
ActiveDocument.Styles("Название Таблицы"). _
|
||||
ActiveDocument.Styles("ГОСТ Название Таблицы"). _
|
||||
NoSpaceBetweenParagraphsOfSameStyle = False
|
||||
ActiveDocument.Styles("Название Таблицы").ParagraphFormat.TabStops.ClearAll
|
||||
With ActiveDocument.Styles("Название Таблицы").ParagraphFormat
|
||||
ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat.TabStops.ClearAll
|
||||
With ActiveDocument.Styles("ГОСТ Название Таблицы").ParagraphFormat
|
||||
With .Shading
|
||||
.Texture = wdTextureNone
|
||||
.ForegroundPatternColor = wdColorAutomatic
|
||||
@@ -556,14 +678,439 @@ ActiveDocument.Styles.Add Name:="Название Таблицы", Type:= _
|
||||
.Shadow = False
|
||||
End With
|
||||
End With
|
||||
ActiveDocument.Styles("Название Таблицы").LanguageID = wdRussian
|
||||
ActiveDocument.Styles("Название Таблицы").NoProofing = False
|
||||
ActiveDocument.Styles("Название Таблицы").Frame.Delete
|
||||
ActiveDocument.Styles("ГОСТ Название Таблицы").LanguageID = wdRussian
|
||||
ActiveDocument.Styles("ГОСТ Название Таблицы").NoProofing = False
|
||||
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:= _
|
||||
wdStyleTypeParagraph
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").AutomaticallyUpdate = _
|
||||
False
|
||||
|
||||
With ActiveDocument.Styles("ГОСТ Список маркер (-)")
|
||||
.AutomaticallyUpdate = False
|
||||
.BaseStyle = "ГОСТ Обычный текст"
|
||||
.NextParagraphStyle = "ГОСТ Список маркер (-)"
|
||||
End With
|
||||
With ActiveDocument.Styles("ГОСТ Список маркер (-)").Font
|
||||
.Name = "Arial"
|
||||
.Size = 12
|
||||
@@ -639,14 +1186,14 @@ ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:=
|
||||
.Shadow = False
|
||||
End With
|
||||
End With
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete
|
||||
Selection.MoveUp Unit:=wdLine, Count:=4
|
||||
Selection.MoveDown Unit:=wdLine, Count:=2
|
||||
Selection.MoveUp Unit:=wdLine, Count:=3
|
||||
Selection.MoveLeft Unit:=wdCharacter, Count:=27
|
||||
Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend
|
||||
'ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS
|
||||
'ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False
|
||||
'ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete
|
||||
''Selection.MoveUp Unit:=wdLine, Count:=4
|
||||
''Selection.MoveDown Unit:=wdLine, Count:=2
|
||||
''Selection.MoveUp Unit:=wdLine, Count:=3
|
||||
''Selection.MoveLeft Unit:=wdCharacter, Count:=27
|
||||
''Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend
|
||||
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
|
||||
.NumberFormat = "-"
|
||||
.TrailingCharacter = wdTrailingSpace
|
||||
@@ -926,35 +1473,16 @@ ActiveDocument.Styles.Add Name:="ГОСТ Список маркер (-)", Type:=
|
||||
End With
|
||||
.LinkedStyle = ""
|
||||
End With
|
||||
ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = ""
|
||||
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
|
||||
ListGalleries(wdOutlineNumberGallery).ListTemplates(1), _
|
||||
ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
|
||||
DefaultListBehavior:=wdWord10ListBehavior
|
||||
ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = "NameMinus"
|
||||
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:=ListGalleries(wdOutlineNumberGallery).ListTemplates(1)
|
||||
'ListGalleries(wdOutlineNumberGallery).ListTemplates (1), _
|
||||
'ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
|
||||
'DefaultListBehavior:=wdWord10ListBehavior
|
||||
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").LanguageID = wdEnglishUS
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").NoProofing = False
|
||||
ActiveDocument.Styles("ГОСТ Список маркер (-)").Frame.Delete
|
||||
|
||||
'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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
31
README.md
31
README.md
@@ -12,30 +12,37 @@ C:\Users\[ИмяПользователя]\AppData\Roaming\Microsoft\Word\STARTUP
|
||||
3. Добавление нового раздела после курсора с горизонтальным листом А4;
|
||||
4. Добавление нового раздела после курсора с вертикальным листом А4;
|
||||
5. Добавление нового раздела после курсора с горизонтальным листом А3;
|
||||
6. Добавление подготовленных стилей в документ, чтобы форматирование картинки или таблицы происходило корректно, т.к. макросы форматирования картинок и таблиц ссылаются на определенные стили. Название доавляемых стилей в виде "ГОСТ Основной текст", "ГОСТ Название рисунка", итд. Необходимые стили:
|
||||
6.1. Обычный текст - ок.
|
||||
6.2. Название рисунка - ок.
|
||||
6.3. Название таблицы - ок.
|
||||
6.4. Нумерованый многоуровневый список - ок.
|
||||
6.5. Маркированый многоуровневый список - ок.
|
||||
|
||||
|
||||
|
||||
## Планируемые функции
|
||||
1. Автоматическая установка расширения при открытии
|
||||
2. Вставка штампов целиком и частями
|
||||
3. Добавления ряда интересных функций из addin_wordtools
|
||||
4. Добавления ряда интересных функций из addin_macrotoolsword
|
||||
5. Добавление подготовленных стилей в документ, чтобы форматирование картинки или таблицы происходило корректно. Изменение текущих стилей документа. Или приведение стилей к определенному шаблону. Название стилей в виде "ГОСТ Основной текст", "ГОСТ Название рисунка", итд. Необходимые стили:
|
||||
5.1. Основной текст - ок
|
||||
5.2. Название рисунка - ок
|
||||
5.3. Название таблицы - ок
|
||||
5.4. Нумерованый многоуровневый список
|
||||
5.5. Маркированый многоуровневый список - ок
|
||||
5.6. Обычный текст. Шрифт, размер, цвет текста, без абзацного отступа. На его основе должны строится остальные стили.
|
||||
1. Копирование стилей в шаблон пользователя Normal.dot через StyleOrganizer
|
||||
2. Автоматическая установка расширения при открытии
|
||||
3. Вставка штампов целиком и частями
|
||||
4. Добавления ряда интересных функций из addin_wordtools
|
||||
5. Добавления ряда интересных функций из addin_macrotoolsword
|
||||
|
||||
|
||||
|
||||
## Планируемые доработки скриптов
|
||||
1. Форматирование таблицы - автоматическое определение формата листа и подгон ширины под формат листа.
|
||||
2. Добавить в форматирование таблицы вставку названия
|
||||
3. Применение стиля к насзванию рисунка и названию таблицы
|
||||
4. Проверка наличия стиля для названия рисунка и таблицы
|
||||
|
||||
|
||||
## Changelog
|
||||
1. Добавлена функция форматирования картинки со вставкой названия. Размер картинки уменьшается до определенного размера, который зависит от формата (а3/а4) и ориентации листа (портретный/альбомный);
|
||||
2. Вставка вертикального А4 как нового раздела после курсора. Релизовано как SplitButton
|
||||
3. Вставка горизонтального листа. После вставки горинзонтального листа следующие страницы превращаются также в горизонтальные. Надо сделать так чтобы вставлялся только один горизонтальный лист как раздел, а следующие разделы шли без изменения.
|
||||
4. Добавлена вставка стилей: Основной текст, Название руисунка, Название таблици, Маркированный многоуровневый (-)
|
||||
4. 2025.07.04. Добавлена вставка стилей: "Основной текст", "Название руисунка", "Название таблицы", "Маркированный многоуровневый (-)", "Нумерованный Многоуровневый (-)"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user