в мене майже всі складальні та монтажні креслення мають специфікацію на листі. я пристосувався правити таблицю так: "формат" має ширину 14мм, "зона" має ширину 8мм, ""Поз." без змін, "Позначення" має ширину 60мм, інші без змін. разом 185мм. а потімвручну по обставинам розміщаю специфікацію або вгорі або внизу, благо що овна примагнічується до кутових точок.
так, це відхилення від ЄСКД, але маємо те що маємо.
трішки поекспериментував із правилом, підібрав для себе параметри. "Зо- на" спеціально залишив, щоб так сформувалася шапка таблиці.
Sub Main() ' EditPartList()
' Before using PartList change GOST Table Style: Don't Display Trailing Zero
Dim oDoc As DrawingDocument
Dim oCurSh As Sheet
Dim oBOMTable As CustomTable
Dim oTabN, oShrCond, oShrNorm As String
Dim oTbPos As Point2d
oDoc = ThisApplication.ActiveDocument
oCurSh = oDoc.ActiveSheet
Select Case oCurSh.Application.LanguageName
Case "Russian"
oTabN = "Список деталей по ГОСТ"
oShrCond = "Сжатый текст (ГОСТ)"
oShrNorm = "PL обычный текст (ГОСТ)"
Case "English"
oTabN = "GOST Parts List"
oShrCond = "Condensed Text (GOST)"
oShrNorm = "PL Regular Text (GOST)"
Case Else
Debug.Print ("Unknown Language")
Exit Sub
End Select
If oCurSh.CustomTables.Count < 1 Then
Exit Sub
End If
For i = 1 To oCurSh.CustomTables.Count
If Left(oCurSh.CustomTables.Item(i).Title, Len(oTabN)) = oTabN Then
oBOMTable = oCurSh.CustomTables.Item(i)
' oDoc.StylesManager.FeatureControlFrameStyles.Item(7).TrailingZeroDisplay = False
oBOMTable.ColumnHeaderTextStyle = oDoc.StylesManager.TextStyles.Item(oShrCond)
oBOMTable.ColumnHeaderTextStyle.FontSize = 0.33
oBOMTable.ColumnHeaderTextStyle.WidthScale = 0.8
oBOMTable.DataTextStyle = oDoc.StylesManager.TextStyles.Item(oShrNorm)
oBOMTable.DataTextStyle.FontSize = 0.3
oBOMTable.DataTextStyle.WidthScale = 0.95
oBOMTable.Columns.Item(1).Title = "Формат"
oBOMTable.Columns.Item(1).Width = 1.4
oBOMTable.Columns.Item(2).Title = "Зо- на"
oBOMTable.Columns.Item(2).Width = 0.8
oBOMTable.Columns.Item(3).Title = "Поз."
oBOMTable.Columns.Item(3).Width = 0.8
oBOMTable.Columns.Item(4).Title = "Позначення"
oBOMTable.Columns.Item(4).Width = 6.0
oTbPos = ThisApplication.TransientGeometry.CreatePoint2d( _
oCurSh.Width - 19, oCurSh.TitleBlock.RangeBox.MaxPoint.Y + _
(oBOMTable.RangeBox.MaxPoint.Y - oBOMTable.RangeBox.MinPoint.Y))
oBOMTable.Position = oTbPos
oBOMTable.Update
oCurSh.Update
Exit Sub
End If
Next
End Sub